Показать сообщение отдельно
Старый 31.05.2020, 15:26   #2
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: Как текстуру в RawImage грузить?

Короче, пошёл таким путём.
Создал рав имэйдж, натянул на него текстуру,
сделал из него ассет. Загружаю ассет через SetParent
прикрепляя к объекту внутри холста.
Так работает.

public class FuckingMonIcon : MonoBehaviour
{
    public Transform Robj; // Родительский объект внутри канваса
    public GameObject MonsterIcon1; // Ассет RawImage


    public void Start()
    {

        Instantiate(MonsterIcon1).transform.SetParent(Robj);
    }
}

Пробовал то же самое через transform.parent,
юнити грузил ассет, но восклицательными знаками ругался
типа делай через SetParent, сделал, результат - ругаться перестал.
В transform.parent родительским объектом Robj являлся GameObjectom,
а в SetParent Robj должен быть не гейм обжектом, а Transform,
координатами объекта короче.

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

Instantiate(MonsterIcon1).transform.SetParent(Robj, false);
Если в SetParent в скобках поставить "null", то загружаемый рав имйёдж
не будет привязан к холсту, а улетит в иерархию как самостоятельный объект.

Instantiate(MonsterIcon1).transform.SetParent(null);
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube

Последний раз редактировалось Crystal, 31.05.2020 в 16:30.
(Offline)
 
Ответить с цитированием