Как текстуру в RawImage грузить?
Я заступорился на попытках загрузить и натянуть текстуру
на RawImage программно. Сам сначала пытался по всякому, потом уже плюнул и напрямую пробовал пример копировать, и все эти примеры не работают, так как-они о тстарых версий юнити. Короче у меня Rawimage висит на канвасе, и на нём периодично текстуру нужно менять, если у кого есть рабочий код на версию 2019.3f1, я с удовольствие пощупаю. Так же у меня не получается готовый ассет RawImage загрузить, с ассетами моделей проблем нет, а с этим ступор. P.s. Документацию юнити читал, их документация говно полное. |
Ответ: Как текстуру в RawImage грузить?
Короче, пошёл таким путём.
Создал рав имэйдж, натянул на него текстуру, сделал из него ассет. Загружаю ассет через SetParent прикрепляя к объекту внутри холста. Так работает. Код:
public class FuckingMonIcon : MonoBehaviour Пробовал то же самое через transform.parent, юнити грузил ассет, но восклицательными знаками ругался типа делай через SetParent, сделал, результат - ругаться перестал. В transform.parent родительским объектом Robj являлся GameObjectom, а в SetParent Robj должен быть не гейм обжектом, а Transform, координатами объекта короче. В случае кода выше, рав имэйдж грузится в глобальных координатах, если хотим вляпать в локальных, тобишь прямо на объект к которому лепим внутри канваса то нужно добавить параметр "false": Код:
Instantiate(MonsterIcon1).transform.SetParent(Robj, false); не будет привязан к холсту, а улетит в иерархию как самостоятельный объект. Код:
Instantiate(MonsterIcon1).transform.SetParent(null); |
Ответ: Как текстуру в RawImage грузить?
Теперь решил и проблему загрузки текстуры на RawImage висящий на канвасе.
Короче, юнити странная штука, которую пишут макаки ногами. Загрузить мы на RawImage можем текстуру только через "Resources.Load". Самое интересное, что функция "Resources.Load" загружает текстуры только из папок с именем "Resources". Папка может валяться где угодно среди ассетов, главное её название, если вы решите назвать её например "Textures", или "Zadnica", то у вас ничего не выйдет. Здесь можно почитать про это: ТЫК В итоге, чё делаем? Вот: Код:
public class SUKA : MonoBehaviour юнити сам находит путь, по тому что функция Resources.Load может грузить ресурсы только из папок с именем "Resources", и по этому сама знает что искать, и путь к папке прописывать категорически запрещено! Папок может быть сколько угодно, но имена ресурсов в них не должны повторяться, иначе юнька будет брать тот ресурс, до которого первым доберётся листая папки. У меня вопросов больше нет товарищи, сам до всего допёр. У вас есть вопросы? ) |
Ответ: Как текстуру в RawImage грузить?
Цитата:
Если ресурс был размещён на сцене или в префабе, то тогда Юнити знает, что он юзается в приложении, и будет его туда прикладывать. А вот если ты сам грузишь через Resources.Load, то тут уже заранее неизвестно, будет файл грузиться или нет. А прикладывать вообще всё тоже не варик. Поэтому такой компромисс. Ну, это по мнению авторов Юнити, можно соглашаться или не соглашаться. Например, ты не кладёшь в проект лишнего, а школотроны кладут и потом плачут что приложение для телефона весит 100 ГБ. Юнити пошли навстречу народу, так сказатб. Но вот то, что не выдаётся внятное сообщение об ошибке, из которого можно понять, в чём дело — это косяк, да. Сам в своё время точно так же налюбился, так что отлично понимаю бугурт. |
Часовой пояс GMT +4, время: 10:07. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot