こんにちは、Unityエンジニアのオオバです。
おそらくUnity5系までは正常に動作していたSVGImporter。
SVGImporterとは、SVG1.1形式保存したSVGファイルをベクターデータとしてUnityに取り込み、メッシュ化し、ベクターデータのように扱うことが出来るアセットです。
参考動画
Getting Started with SVG Importer Tutorial - YouTube
Unity2017にアップデートして使ってみた所、今までの使い方では動かなかったので、対処法をメモしておきます。
※2017.8.16時点の情報です。今後アップデートで対応は入る可能性があります
今までSVGファイルをProjectに放り込み、それをヒエラルキーにドラッグするとそのまま、SVGの絵を表示してくれていました。しかし、Unity2017のPlayableAPI実装に伴いセットアップ部分の機能が競合してしまっているようです。
本来であればSVGファイルをヒエラルキーにドラッグすると、上図のように
SVGRenderer
、MeshFileter
、MeshRenderer
、Material
がセットされた状態になります。 しかしUnity2017.1では、このように
PlayableDirector
がくっついた状態で何も表示はされません。 対処法
SVGファイルをヒエラルキーにドラッグすることを諦めます。
- GameObjectを作成
- SVGRendererをAddComponent(MeshFilter、MeshRendererが自動でアタッチされる)
- SVGRendererのVectorGraphicsにSVGファイルをドラッグ
- SVGRendererの
AdvancedMaterials
のTransparentに適当なMaterialをセットし、外す - するとMeshRendererのMaterialに
SVG Importer/SolidColor/SolidColorAlphaBlended
がセットされる - 無事表示
というフローを踏めば表示されます。
頑張ってEditor拡張すればもう少し簡単になりそうですが、公式の対応をまとうと思っている次第です。
環境
- Unity2017.1.0f3
- SVG Importer1.1.6
この記事が気に入ったらフォローしよう
オススメ記事
検証環境
- Unity2017.1.0f3