Возвращаясь к вопросу, где и в каком виде ассету хранить свои настройки ― наткнулся на тему, где это обсуждалось. UT вроде пытаются что-то сделать для штатного решения проблемы, но кажется, что как-то не так. Предлагают хранить настройки в виде json, а хотелось бы в виде сериализованного ScriptableObject.
--
При хранении настроек в ScriptableObject внутри папки Resources выявилась прикольная особенность (за баг не считают):
Если после "Reimport All" пытаться читать ресурс из метода InitializeOnLoadMethod, то Unity к этому времени ещё не имеет информации о содержимом папки ресурсов и ресурс не читается/не находится, даже если он есть. Аналогичная ситуация, если открывать проект для 2018 версией Unity 2019 ― при апгрейде происходит реимпорт всего, после чего ресурс с настройками не обнаруживается.
Вот тут описано ― http://www.createdbyx.com/post/2013/02/17/Unity-Tip-101-55-%E2%80… 2%80%99s.aspx
но предложенное решение, через подписку на EditorApplication.update, мне кажется чересчур костыльным. Надо бы как-то поэлегантнее.
А знали ли вы, что если в каком-нибудь инспекторе щёлкнуть на поле выбора текстуры с зажатым Shift или Ctrl, то рядом появляется отдельное окошко предпросмотра выбранной там текстуры?
alexzzzz
> При хранении настроек в ScriptableObject внутри папки Resources выявилась
> прикольная особенность
Можно для MonoBehaviour скрипта задавать значение полей по умолчанию в инспекторе прямо в свойствах скрипта, то есть ссылки на объект. Это может быть ScriptableObject конфиг вне папки Resources. Предположим я сделаю разок такой MonoBehaviour, получу от него ссылку на ScriptableObject конфиг и удалю MonoBehaviour навсегда, сохранив ссылку (Singletone) в статическом поле.
Но мне было бы интересно где хранятся эти значения по умолчанию и попробовать получить их значение напрямую.
В юнити что профитнее по производительности: стандарный бокс-коллайдер или меш-коллайдер но той же формы? вернее равны ли они по производительности?
DemiosFantasimo
> вернее равны ли они по производительности?
Нет. Бокс-коллайдер это одна функция, меш это меш со всеми вытекающими.
DemiosFantasimo
> стандарный бокс-коллайдер или меш-коллайдер но той же формы? вернее равны ли
> они по производительности?
Бокс-коллайдер быстрее на порядки. Но если у тебя какой-нибудь майнкрафт, то лучше один меш-коллайдер с оптимизированной геометрией на каждый чанк, чем по боксовому на каждый куб.
foxes
> Нет. Бокс-коллайдер это одна функция, меш это меш со всеми вытекающими.
Нет, в юнити есть меш-коллайдер. когда коллайдер делается по мешу.
alexzzzz
> Бокс-коллайдер быстрее на порядки. Но если у тебя какой-нибудь майнкрафт, то
> лучше один меш-коллайдер с оптимизированной геометрией на каждый чанк, чем по
> боксовому на каждый куб.
ок. Спасибо.
Наверно надо было сразу предпосылку написать.
Надо откалайдить гуманоида. как понял можно двумя способами. либо натыкать примитивов колайдеров самой юнити. Либо дополнительные меши в блендере на которые потом вешаются меш-колайдеры. Хотя меши в блендере конечно удобнее
DemiosFantasimo
> Надо откалайдить гуманоида. как понял можно двумя способами. либо натыкать
> примитивов колайдеров самой юнити.
Сферами и капсулями в Unity. Сферический коллайдер самый быстрый. Капсульный чуть посложнее. Боксовый должен быть сложнее и плохо подходит к гуманоиду.
Ок. Спасибо.
alexzzzz
> Сферический коллайдер самый быстрый.
Не особо то он от куба отличается.
DemiosFantasimo
> Нет, в юнити есть меш-коллайдер. когда коллайдер делается по мешу.
Коллайдер по мешу это проверка пересечения с каждым треугольником исходного меша или любого другого выбранного - упрощенного, а не просто функция пересечение с кубом. И че нет? Из контекста непонятно что речь шла о коллайдере?
foxes
> Из контекста непонятно что речь шла о коллайдере?
Я незнаю и не хочу знать почему из куска моей цитаты "...стандарный бокс-коллайдер или меш-коллайдер..." ты не понял контекста)))
DemiosFantasimo
> когда коллайдер делается по мешу.
Коллайдер по мешу не делается. Выбранный меш используется как поверхность для расчета пересечений.
DemiosFantasimo
> ...стандарный бокс-коллайдер или меш-коллайдер...
Я как бы, на это и отвечал. Что бокс простая функций, а меш сложный полигон. Не дошло? Или тебе прям так надо писать:
Бокс-коллайдер простая функций, а меш-коллайдер сложный полигон.
А от корневой папки весь путь указать для каждой строчки?
DemiosFantasimo
> ты не понял контекста
А, ну то есть это я не понял контекста и пишу не впопад, а не ты. Еще пойди расскажи разработчикам ОС что такое ОС.
foxes
> Не дошло
Это до тебя не дошло. Видимо по этому ты сейчас рассказываешь то чего я не спрашивал. У обоих колайдеров одна и таже функция - не тупи пожалуйста. Они по этому таки и называются - "КОЛЛАЙДЕРЫ". Мне и до тебя было понятно, что они обсчитываются по разному. Но до механики обсчета по большому счету и не должно быть дела. Ведь движек на то и движек, чтобы не морочится "неигровыми" нюансами, по крайней мере большей частью.
Да и помолчал бы уж раз другой человек понял, что я написал. Чего на фоне палиться то.)))
DemiosFantasimo
> Да и помолчал бы уж раз другой человек понял, что я написал.
Другой человек тебе ответил ровно тоже самое другими словами. Для тех кто не понял моего ответа. Так что сам бы помолчал.
DemiosFantasimo
> У обоих колайдеров одна и таже функция - не тупи пожалуйста.
> Они по этому таки и называются - "КОЛЛАЙДЕРЫ".
Ну да и зачем-то отдельно сделали компонент для меш-коллайдера. И где интересно я написал что у них разное назначение? Ты не можешь прочитать ответ в контексте собственного вопроса, так что сам не тупи!
DemiosFantasimo
> Видимо по этому ты сейчас рассказываешь то чего я не спрашивал.
Функциональность у них разная, у одного расчет пересечения с функцией куба (Бокс-коллайдер это одна функция), у другого с отдельными описанными в меше треугольниками, что сложнее (меш это меш со всеми вытекающими). Из этого вполне следует ответ на твой вопрос. Очевидно что ты этого не знаешь, отсюда вся твоя болтология с неправильными выводами.
DemiosFantasimo
> Мне и до тебя было понятно, что они обсчитываются по разному.
Спалился уже.
foxes
> Функциональность у них разная, у одного расчет пересечения с функцией куба
> (Бокс-коллайдер это одна функция), у другого с отдельными описанными в меше
> треугольниками, что сложнее (меш это меш со всеми вытекающими). Из этого вполне
> следует ответ на твой вопрос. Очевидно что ты этого не знаешь, отсюда вся твоя
> болтология с неправильными выводами.
ты реально не понимаешь что они оба предназначены для детекции столкновений? Какая разница как они работают если цель у них одна.
Тема в архиве.