Да, добавление холста в Gameobject автоматически изменит Transform
на RectTransform
.Это связано с тем, что прямоугольное преобразование является 2D-эквивалентом Transform
с некоторыми дополнительными функциями, такими как привязка.
Из Unity документы :
The RectКомпонент Transform является аналогом 2D-макета компонента Transform.Где Transform представляет одну точку, Rect Transform представляет прямоугольник, внутри которого может быть размещен элемент пользовательского интерфейса.Если родительский объект Rect Transform также является Rect Transform, дочерний Rect Transform также может указывать, как он должен располагаться и измеряться относительно родительского прямоугольника.
Документы нефактически, в любом месте четко указано, что преобразование заменяется RectTransform автоматически, хотя ...
Более того, Canvas зависит от RectTransform и, следовательно, не может использоваться без RectTransform.Это можно увидеть, когда вы пытаетесь удалить прямоугольное преобразование с холста.Появится сообщение «Не удается удалить RectTransform, потому что от него зависит Canvas».
Любой другой компонент пользовательского интерфейса, добавленный вами в GameObject, также автоматически добавит компонент Recttransform (изображение IE, текст и т. Д.).это имеет ту же причину, что и Canvas, что они зависят от RectTRansform.
Вы также заметите, что любой созданный вами GameObject, являющийся дочерним элементом для canvas, также будет иметь RectTransform по умолчанию, так что он может привязывать себяпо отношению к родителям (холст в этом примере) прямоугольное преобразование.Вы можете удалить rectTransform из этих Объектов, если ни один из его компонентов не зависит от RectTransform.Хотя я не понимаю, почему это было бы желательно, так как любой дочерний элемент холста должен быть в некоторой форме пользовательского интерфейса, например, изображение или текст.И поэтому должен требовать RectTransform.