HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (240): « Первая ... « 150 151 152 153 [154] 155 156 157 158 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Нашёл вот это: https://makaka.org/unity-tutorials/guid
Но там ни слова о том, как он создаётся.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 210041

Старое сообщение 01-07-2022 15:22
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Дядя Миша
Фиг его знает, я не вникал. Посмотри тут:
https://unityatscale.com/unity-meta...iles-and-guids/
https://unityatscale.com/unity-meta...-file-deep-dive

Или даже тут?
https://gist.github.com/ZimM-LostPo...a3e5a1be183ac19

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

Отредактировано FiEctro 01-07-2022 в 16:01

Сообщить модератору | | IP: Записан
Сообщение: 210043

Старое сообщение 01-07-2022 15:55
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
просто мета файлики создает ко всем ресурсам

Я пытаюсь понять на основании чего генерируется вот это значение GUID.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 210044

Старое сообщение 01-07-2022 16:51
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
FiEctro писал:
Ненависть как правило к тем кто... даёт какие то нелепые обещания космического масштаба.

Ну и как, сильно у нас ненавидят Илона Маска?
Цитата:
FiEctro писал:
И так уж получилось, что среди наших местных стартаперов такое в тренде.

Это, имхо, в тренде у абсолютно любых стартаперов. Иначе им никто денег не даст.
Цитата:
nemyax писал:
Пусть оно попробует выделяться выгодно, а не хоть как-то. Глядишь и полюбят.

Что одному выгодно - другому совершенно невыгодно, и наоборот.
Я читал такую байку, что мол когда то ли в Европе, то ли в Америке захотели сделать ультра-бюджетный, ремонтопригодный и дешёвый в обслуживании автомобиль, чтобы обспечить им даже тех, кто испытывает бездомность на регулярной основе, то с изумлением обнаружили, что в России такой уже давно разработан и активно используется. Называется "жигули". А у нас тем временем постили картинки про "совершенство не нуждается в доработке" и "не можем повторить".
Ну ты можешь сказать - подумаешь, байка. А я скажу - нет пророка в своём отечестве.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 210045

Старое сообщение 01-07-2022 17:11
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Цитата:
XaeroX писал:
Ну и как, сильно у нас ненавидят Илона Маска?


Вообще многие ненавидят, например Рогозин.

Цитата:
XaeroX писал:
Называется "жигули".


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

Цитата:
Дядя Миша писал:
Я пытаюсь понять на основании чего генерируется вот это значение GUID.


Я спросил ещё юнитистов, сказали что возможно по времени обнаружения файла.

Отредактировано FiEctro 01-07-2022 в 17:17

Сообщить модератору | | IP: Записан
Сообщение: 210046

Старое сообщение 01-07-2022 17:13
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
FiEctro писал:
Вообще многие ненавидят, например Рогозин.

А ты уверен, что за это?
Может, это ненависть между конкурентами.

Добавлено 01-07-2022 в 13:20:

Цитата:
FiEctro писал:
Жигули совсем не бюджетный автомобиль.

Я не в курсе, какая ситуация с авторынком сейчас, но когда я в 2009 году подумывал о покупке авто, лады были весьма доступны по цене даже в сравнении с ближайшим конкурентом в лице рено-логан. И кстати, мне они нравились (я катался на 2114 и 2115).
Ну понятное дело, тогда никто не слышал ни про какие подушки безопасности и системы курсовой устойчивости, а про АБС нам в автошколе рассказывали как про какую-то супермодную фишку.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 210047

Старое сообщение 01-07-2022 17:20
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
XaeroX писал:
Ну и как, сильно у нас ненавидят Илона Маска?

Недолюбливают, скажем так.

Раздели пожалуйста темы, у вас гляжу спец-олимпиада намечается.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 210048

Старое сообщение 01-07-2022 17:51
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
у вас гляжу спец-олимпиада намечается.

Лениво. Ладно, засчитайте мне техническое поражение.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 210050

Старое сообщение 01-07-2022 19:28
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Ознакомился с материалами по ссылкам, что дал FiEctro но всё равно пока не очень понятно.

https://unityatscale.com/unity-meta...-file-deep-dive вот здесь к примеру написано что рядом с каждым ресурсом создаётся мета-файлик, который содержит не только GUID, но и настройки для ресурса.
Но это же абсурд! Смысл ресурса как раз в том, что он может бы переиспользован как угодно, а не иметь какие-то конкретные настройки.
Никто не запретит мне одну и ту же текстуру влепить как на уровень, так и в GUI. Так почему же у нас в этой схеме ресурс довлеет над материалом?
Получается что к каждому ресурсу полагается только один материал, а если вы хотите этот же ресурс использовать с другими настройками материала, вам надо... сделать копию этого ресурса. Изумительно!
В противовес этому, в том же Quake3 шейдеры рассматривались именно как высокоуровневая концепция, которая ссылается на реальные файлы, но на какие именно - это персональное дело каждого шейдера. Ресурс по сути не может иметь в себе каких-то настроек привязанных к редактору или компилеру. Точнее говоря может, если как раз процесс компиляции - неявный. В этом и есть главная проблема на мой взгляд. С одной стороны кажется удобным что можно избежать явного процесса компиляции, с другой стороны это превращается в некоторый ад, потому что движок обязан следить за всеми изменениями и оперативно перекомпилировать изменённые ресурсы.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 210061

Старое сообщение 02-07-2022 08:27
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
Но это же абсурд! Смысл ресурса как раз в том, что он может бы переиспользован как угодно, а не иметь какие-то конкретные настройки.
Никто не запретит мне одну и ту же текстуру влепить как на уровень, так и в GUI. Так почему же у нас в этой схеме ресурс довлеет над материалом?
Получается что к каждому ресурсу полагается только один материал, а если вы хотите этот же ресурс использовать с другими настройками материала, вам надо... сделать копию этого ресурса. Изумительно!


Ну так у тебя есть тоже для спрайтов отдельный формат, для UI тоже другой.
Там настройки компрессии для дифузок и нормалей, оптимизации текстуры, мип карты, кубамапы, прозрачность и вот это всё, он походу просто в ддс потом компилирует их. С моделями тоже самое, можно нарезать анимации, задать ИК эвенты и т.д. и т.п. Спрайты можно на тайлы нарезать и даже пришить к ним скелетку с развесовкой!

А система материалов это просто шейдер внутри которого происходит любая магия, значения переменных которого хранятся в .mat файлике.
Я вот например использую Шейдер форж для визуального программирования шейдеров.
https://acegikmo.com/shaderforge/nodes/

Единственный минус, он не умеет делать шейдер в несколько проходов, хотя сам шейдерный язык юнити это делать позволяет.

Ку3 система это абсолютно негибкий и захардкоженный костыль.

Отредактировано FiEctro 02-07-2022 в 08:50

Сообщить модератору | | IP: Записан
Сообщение: 210064

Старое сообщение 02-07-2022 08:42
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Теперь вот по этой ссылке: 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 внутри самого файла.
Корочи очень спорная система на мой взгляд.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 210065

Старое сообщение 02-07-2022 08:59
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
Если у нас моделька пушки - кладём в models\weapons. Если у нас моделька монстра кладём models\monsters. Если у нас текстура, допустим дерева кладём textures\wood. Это простая и понятная схема, которая не требует никаких доработок или изменений. GUID же в Unity пропагандирует строго обратную модель - раскидайте ресурсы как попало, но мы их всё равно найдем.


Это работает ровно до тех пор пока ты не начнешь подгружать ассеты. В твоём случае потом всё это говно придётся подчищать ручками, а в юнити его можно просто выгрузить. Ничего тебе не мешает сделать самому свою папку Assets\UnkleMike\models textures sounds levels и т.д.

Отредактировано FiEctro 02-07-2022 в 09:08

Сообщить модератору | | IP: Записан
Сообщение: 210067

Старое сообщение 02-07-2022 09:04
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
Там настройки компрессии для дифузок и нормалей, оптимизации текстуры, мип карты, кубамапы, прозрачность и вот это всё, он походу просто в ддс потом компилирует их

Мой компилятор в DDS не требует никаких настроек, сам понимает что и во что сжимать, генерировать ли мип-уровни или нет. То есть вообще даже не возникал вопрос, чтобы ему надо было что-то указывать явным образом.
Правда он опирается на суффиксы в названии текстур, но не только.
Там есть встроенный анализтор, который позволяет 100% отличить текстуру от нормалмапы или чернобелое изображение от цветного, проверить альфа-канал и решить в какой формат оптимальнее всего сжимать.
Впрочем он детектит даже битые нормал-мапы, которые нельзя сжимать в ATI2N, потому что у них Z отрицательный. Я кстати совсем недавно с удивлением обнаружил что на спонзе есть несколько таких нормалмап.
У меня там целый блок анализа, который сжимает нормалмапу и смотрит качество расхождения и на основании этого делает выводы - оптимально ли сохранять эту текстуру в ATI2N или нет.

Добавлено 02-07-2022 в 12:11:

Цитата:
FiEctro писал:
Это работает ровно до тех пор пока ты не начнешь подгружать ассеты

Если вся игра сделана на ассетах, мне это напоминает делфи, где никто ничего не писал, а все искали платные компоненты. Подобный подход в перспективе ни к чему хорошему не приводит. Нельзя просто накидать в папку платных ассетов и думать, что из этого получится игра.
А знаете почему? Если бы игры можно было бы клепать таким образом, разрабы Unity вам бы его нипочём не дали. Они бы просто клепали такие ассеты, кидали бы их в папку и каждый месяц выпускали новую игру и наживались именно на этом. Ну кто бы отдал рабочий и ненапряжный способ заработка? Но они сами даже не пытаются игру сделать. Вот как раз поэтому.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 210068

Старое сообщение 02-07-2022 09:11
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Ну вот захотел ты допустим кубамапу текстуру подгрузить, и она например одной картинкой сделана, ты что отправишь юзверя резать её вручную в фотошопе? Или например захочешь ты чтобы у тебя все текстуры в степень двойки сконвертировались в проекте, опять юзера отправишь ковырять в фотошоп? Наверное проще показать чем рассказать:
https://docs.unity3d.com/Manual/cla...reImporter.html

Цитата:
Дядя Миша писал:
Если вся игра сделана на ассетах, мне это напоминает делфи, где никто ничего не писал, а все искали платные компоненты. Подобный подход в перспективе ни к чему хорошему не приводит. Нельзя просто накидать в папку платных ассетов и думать, что из этого получится игра.
А знаете почему? Если бы игры можно было бы клепать таким образом, разрабы Unity вам бы его нипочём не дали. Они бы просто клепали такие ассеты, кидали бы их в папку и каждый месяц выпускали новую игру и наживались именно на этом. Ну кто бы отдал рабочий и ненапряжный способ заработка? Но они сами даже не пытаются игру сделать. Вот как раз поэтому.


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

Отредактировано FiEctro 02-07-2022 в 09:16

Сообщить модератору | | IP: Записан
Сообщение: 210069

Старое сообщение 02-07-2022 09:12
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



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

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

Добавлено 02-07-2022 в 12:19:

Цитата:
FiEctro писал:
Ну вот захотел ты допустим кубамапу текстуру подгрузить, и она например одной картинкой сделана

В форме креста что ли? А Юнити типа такие картинки может самостоятельно в кубемапу разложить?

Цитата:
FiEctro писал:
Или например захочешь ты чтобы у тебя все текстуры в степень двойки сконвертировались в проекте

Видишь ли какое дело - DXT в силу своей природы не любит текстуры не степени двойки, т.к. там блоки 4х4. Он бы их сконвертил в любом случае по возможности. И не потому что тебе там что-то захотелось, а потому что формату это требуется.
Опять таки, если у моделей есть какие-то настройки, ну там эвенты у анимаций, понятное дело, что это надо где-то хранить.
Ну так ведь это исходник. Который при компиляции может выдать некоторые ошибки. А если компиляция групповая перед экспортом, ты разве успеешь увидеть что он там тебе напишет?

Добавлено 02-07-2022 в 12:20:

Да и мне лично непонятно, ну вот я скачал чужой ассет, модельку гнума.
Это что, я могу её лично декомпилировать слегка отредактировать и выдать за свою? Или в юнити есть защита от декомпиляции чужих ресурсов?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 210070

Старое сообщение 02-07-2022 09:20
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 19:26. Новая тема    Ответить
Страницы (240): « Первая ... « 150 151 152 153 [154] 155 156 157 158 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024