Если ты про идентификацию, то он просто мета файлики создает ко всем ресурсам.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Ненависть как правило к тем кто... даёт какие то нелепые обещания космического масштаба.
Ну и как, сильно у нас ненавидят Илона Маска?
Цитата:
FiEctro писал: И так уж получилось, что среди наших местных стартаперов такое в тренде.
Это, имхо, в тренде у абсолютно любых стартаперов. Иначе им никто денег не даст.
Цитата:
nemyax писал: Пусть оно попробует выделяться выгодно, а не хоть как-то. Глядишь и полюбят.
Что одному выгодно - другому совершенно невыгодно, и наоборот.
Я читал такую байку, что мол когда то ли в Европе, то ли в Америке захотели сделать ультра-бюджетный, ремонтопригодный и дешёвый в обслуживании автомобиль, чтобы обспечить им даже тех, кто испытывает бездомность на регулярной основе, то с изумлением обнаружили, что в России такой уже давно разработан и активно используется. Называется "жигули". А у нас тем временем постили картинки про "совершенство не нуждается в доработке" и "не можем повторить".
Ну ты можешь сказать - подумаешь, байка. А я скажу - нет пророка в своём отечестве.
XaeroX писал: Ну и как, сильно у нас ненавидят Илона Маска?
Вообще многие ненавидят, например Рогозин.
Цитата:
XaeroX писал: Называется "жигули".
Жигули совсем не бюджетный автомобиль. Это как цветные принтеры, производитель продает себе в убыток, но зато потом зарабатывает на комплектующих куда больше чем за сток.
Цитата:
Дядя Миша писал: Я пытаюсь понять на основании чего генерируется вот это значение GUID.
Я спросил ещё юнитистов, сказали что возможно по времени обнаружения файла.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Вообще многие ненавидят, например Рогозин.
А ты уверен, что за это?
Может, это ненависть между конкурентами.
Добавлено 01-07-2022 в 13:20:
Цитата:
FiEctro писал: Жигули совсем не бюджетный автомобиль.
Я не в курсе, какая ситуация с авторынком сейчас, но когда я в 2009 году подумывал о покупке авто, лады были весьма доступны по цене даже в сравнении с ближайшим конкурентом в лице рено-логан. И кстати, мне они нравились (я катался на 2114 и 2115).
Ну понятное дело, тогда никто не слышал ни про какие подушки безопасности и системы курсовой устойчивости, а про АБС нам в автошколе рассказывали как про какую-то супермодную фишку.
Ознакомился с материалами по ссылкам, что дал FiEctro но всё равно пока не очень понятно.
https://unityatscale.com/unity-meta...-file-deep-dive вот здесь к примеру написано что рядом с каждым ресурсом создаётся мета-файлик, который содержит не только GUID, но и настройки для ресурса.
Но это же абсурд! Смысл ресурса как раз в том, что он может бы переиспользован как угодно, а не иметь какие-то конкретные настройки.
Никто не запретит мне одну и ту же текстуру влепить как на уровень, так и в GUI. Так почему же у нас в этой схеме ресурс довлеет над материалом?
Получается что к каждому ресурсу полагается только один материал, а если вы хотите этот же ресурс использовать с другими настройками материала, вам надо... сделать копию этого ресурса. Изумительно!
В противовес этому, в том же Quake3 шейдеры рассматривались именно как высокоуровневая концепция, которая ссылается на реальные файлы, но на какие именно - это персональное дело каждого шейдера. Ресурс по сути не может иметь в себе каких-то настроек привязанных к редактору или компилеру. Точнее говоря может, если как раз процесс компиляции - неявный. В этом и есть главная проблема на мой взгляд. С одной стороны кажется удобным что можно избежать явного процесса компиляции, с другой стороны это превращается в некоторый ад, потому что движок обязан следить за всеми изменениями и оперативно перекомпилировать изменённые ресурсы.
Дядя Миша писал: Но это же абсурд! Смысл ресурса как раз в том, что он может бы переиспользован как угодно, а не иметь какие-то конкретные настройки.
Никто не запретит мне одну и ту же текстуру влепить как на уровень, так и в GUI. Так почему же у нас в этой схеме ресурс довлеет над материалом?
Получается что к каждому ресурсу полагается только один материал, а если вы хотите этот же ресурс использовать с другими настройками материала, вам надо... сделать копию этого ресурса. Изумительно!
Ну так у тебя есть тоже для спрайтов отдельный формат, для UI тоже другой.
Там настройки компрессии для дифузок и нормалей, оптимизации текстуры, мип карты, кубамапы, прозрачность и вот это всё, он походу просто в ддс потом компилирует их. С моделями тоже самое, можно нарезать анимации, задать ИК эвенты и т.д. и т.п. Спрайты можно на тайлы нарезать и даже пришить к ним скелетку с развесовкой!
А система материалов это просто шейдер внутри которого происходит любая магия, значения переменных которого хранятся в .mat файлике.
Я вот например использую Шейдер форж для визуального программирования шейдеров. https://acegikmo.com/shaderforge/nodes/
Единственный минус, он не умеет делать шейдер в несколько проходов, хотя сам шейдерный язык юнити это делать позволяет.
Ку3 система это абсолютно негибкий и захардкоженный костыль.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Теперь вот по этой ссылке: https://unityatscale.com/unity-meta...iles-and-guids/
Для чего нужны GUID мне и так было понятно. В статье это лишний раз подтвердили. Если мы переименуем ресурс или переместим его куда-то еще, то Unity всё равно его обнаружит и подхватит. Казалось бы удобно?
На практике я ни разу не видел, чтобы у кого-то возникало желание переименовывать или перемещать ресурсы. Если у нас моделька пушки - кладём в models\weapons. Если у нас моделька монстра кладём models\monsters. Если у нас текстура, допустим дерева кладём textures\wood. Это простая и понятная схема, которая не требует никаких доработок или изменений. GUID же в Unity пропагандирует строго обратную модель - раскидайте ресурсы как попало, но мы их всё равно найдем.
Особенно любопытно в этом плане то, что во первых связь между ресурсом и его мета-файлом осуществляется всё равно по имени и пути, т.е. если разъединить ресурс с мета-файлом, начнётся интересное. Опять же я не знаю, если мы уничтожим мета-файл, будет ли новый сгенерирован с точно таким же GUID или нет? И если да, то на что он опирается? На внутренние данные файла? А если я изменю саму текстуру и удалю meta-файл, новый GUID уже будет отличаться от старого и все ссылки превратятся в тыкву?
А как я по старому GUID пойму на что он ссылался, оно же нечитабельно для людей? Вопросы-вопросы. https://gist.github.com/ZimM-LostPo...a3e5a1be183ac19
Вот по этой ссылке мне удалось понять ключевое - ReadAllText, т.е. хэш всё же генерируется на основе данных всего файла. Отсюда же и принципиальная невозможность хранить GUID внутри самого файла.
Корочи очень спорная система на мой взгляд.
Дядя Миша писал: Если у нас моделька пушки - кладём в models\weapons. Если у нас моделька монстра кладём models\monsters. Если у нас текстура, допустим дерева кладём textures\wood. Это простая и понятная схема, которая не требует никаких доработок или изменений. GUID же в Unity пропагандирует строго обратную модель - раскидайте ресурсы как попало, но мы их всё равно найдем.
Это работает ровно до тех пор пока ты не начнешь подгружать ассеты. В твоём случае потом всё это говно придётся подчищать ручками, а в юнити его можно просто выгрузить. Ничего тебе не мешает сделать самому свою папку Assets\UnkleMike\models textures sounds levels и т.д.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Там настройки компрессии для дифузок и нормалей, оптимизации текстуры, мип карты, кубамапы, прозрачность и вот это всё, он походу просто в ддс потом компилирует их
Мой компилятор в DDS не требует никаких настроек, сам понимает что и во что сжимать, генерировать ли мип-уровни или нет. То есть вообще даже не возникал вопрос, чтобы ему надо было что-то указывать явным образом.
Правда он опирается на суффиксы в названии текстур, но не только.
Там есть встроенный анализтор, который позволяет 100% отличить текстуру от нормалмапы или чернобелое изображение от цветного, проверить альфа-канал и решить в какой формат оптимальнее всего сжимать.
Впрочем он детектит даже битые нормал-мапы, которые нельзя сжимать в ATI2N, потому что у них Z отрицательный. Я кстати совсем недавно с удивлением обнаружил что на спонзе есть несколько таких нормалмап.
У меня там целый блок анализа, который сжимает нормалмапу и смотрит качество расхождения и на основании этого делает выводы - оптимально ли сохранять эту текстуру в ATI2N или нет.
Добавлено 02-07-2022 в 12:11:
Цитата:
FiEctro писал: Это работает ровно до тех пор пока ты не начнешь подгружать ассеты
Если вся игра сделана на ассетах, мне это напоминает делфи, где никто ничего не писал, а все искали платные компоненты. Подобный подход в перспективе ни к чему хорошему не приводит. Нельзя просто накидать в папку платных ассетов и думать, что из этого получится игра.
А знаете почему? Если бы игры можно было бы клепать таким образом, разрабы Unity вам бы его нипочём не дали. Они бы просто клепали такие ассеты, кидали бы их в папку и каждый месяц выпускали новую игру и наживались именно на этом. Ну кто бы отдал рабочий и ненапряжный способ заработка? Но они сами даже не пытаются игру сделать. Вот как раз поэтому.
Ну вот захотел ты допустим кубамапу текстуру подгрузить, и она например одной картинкой сделана, ты что отправишь юзверя резать её вручную в фотошопе? Или например захочешь ты чтобы у тебя все текстуры в степень двойки сконвертировались в проекте, опять юзера отправишь ковырять в фотошоп? Наверное проще показать чем рассказать: https://docs.unity3d.com/Manual/cla...reImporter.html
Цитата:
Дядя Миша писал: Если вся игра сделана на ассетах, мне это напоминает делфи, где никто ничего не писал, а все искали платные компоненты. Подобный подход в перспективе ни к чему хорошему не приводит. Нельзя просто накидать в папку платных ассетов и думать, что из этого получится игра.
А знаете почему? Если бы игры можно было бы клепать таким образом, разрабы Unity вам бы его нипочём не дали. Они бы просто клепали такие ассеты, кидали бы их в папку и каждый месяц выпускали новую игру и наживались именно на этом. Ну кто бы отдал рабочий и ненапряжный способ заработка? Но они сами даже не пытаются игру сделать. Вот как раз поэтому.
У тебя какое то извращенное представление об ассетах. По сути это как те же либы в программировании, только обычно это просто наборы скриптов и преднастроенных ресурсов. Например тот же Shaderforge является визуальным редактором внутри IDE юнити и средствами юнити написанный фанатами. Ты же опять предлагаешь всё хардкодить ломая всю гибкость.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
В принципе проблема решения конфликтов имён может быть разрешена не через GUID, которые нечеловекочитаемые, а через пространство имён как в С++. То есть каждый ассет может иметь своё пространство имён и не мешать другим. Я потом подумаю над этой схемой. Но не раньше чем у меня появится свой мета-контейнер для хранения ресурсов.
А что касается ассетов содержащих код - так где гарантия, что куча таких ассетов не будет конфликтовать друг с другом? Это как раньше из кучи туторов код копипастили и оно друг с другом могло не работать, теперь по сути тоже самое, только копипастить ничего не надо, просто денег заплати и всё. Но проблема по сути не решена.
Добавлено 02-07-2022 в 12:19:
Цитата:
FiEctro писал: Ну вот захотел ты допустим кубамапу текстуру подгрузить, и она например одной картинкой сделана
В форме креста что ли? А Юнити типа такие картинки может самостоятельно в кубемапу разложить?
Цитата:
FiEctro писал: Или например захочешь ты чтобы у тебя все текстуры в степень двойки сконвертировались в проекте
Видишь ли какое дело - DXT в силу своей природы не любит текстуры не степени двойки, т.к. там блоки 4х4. Он бы их сконвертил в любом случае по возможности. И не потому что тебе там что-то захотелось, а потому что формату это требуется.
Опять таки, если у моделей есть какие-то настройки, ну там эвенты у анимаций, понятное дело, что это надо где-то хранить.
Ну так ведь это исходник. Который при компиляции может выдать некоторые ошибки. А если компиляция групповая перед экспортом, ты разве успеешь увидеть что он там тебе напишет?
Добавлено 02-07-2022 в 12:20:
Да и мне лично непонятно, ну вот я скачал чужой ассет, модельку гнума.
Это что, я могу её лично декомпилировать слегка отредактировать и выдать за свою? Или в юнити есть защита от декомпиляции чужих ресурсов?