うにてぃブログ

UnityやUnreal Engineの記事を書いていきます

【Unity】SVGImage が表示されない

Vector Graphics Version 2.0.0-preview.13 より SVGImage の表示確認しようとして
GameObject に追加したものの表示されませんでした

f:id:hacchi_man:20201216170902p:plain:w450

いろいろ試して見た結果 CanvasRenderer が無いため表示されていなかっただけでした

Canvas内 で 描画するには CanvasRenderer が必要

f:id:hacchi_man:20201216173156p:plain:w450

コードを見てみるとImage には RequireComponent が記述されていますが

    [RequireComponent(typeof(CanvasRenderer))]
    [AddComponentMenu("UI/Image", 11)]
    /// <summary>
    ///   Displays a Sprite inside the UI System.
    /// </summary>
    public class Image : MaskableGraphic, ISerializationCallbackReceiver, ILayoutElement, ICanvasRaycastFilter

SVGImage には RequireComponent の記述がなかったためでした

    /// <summary>A UI image that holds SVG content.</summary>
    [AddComponentMenu("UI/SVG Image", 11)]
    [MovedFrom("")]
    public class SVGImage : MaskableGraphic

まだ Preview なので今後のアプデで追加されるとは思いますが