こんにちわ、Unityエンジニアのオオバです。

おそらくUnity5系までは正常に動作していたSVGImporter

SVGImporterとは、SVG1.1形式保存したSVGファイルをベクターデータとしてUnityに取り込み、メッシュ化し、ベクターデータのように扱うことが出来るアセットです。

参考動画
Getting Started with SVG Importer Tutorial - YouTube

Unity2017にアップデートして使ってみた所、今までの使い方では動かなかったので、対処法をメモしておきます。
※2017.8.16時点の情報です。今後アップデートで対応は入る可能性があります

今までSVGファイルをProjectに放り込み、それをヒエラルキーにドラッグするとそのまま、SVGの絵を表示してくれていました。しかし、Unity2017のPlayableAPI実装に伴いセットアップ部分の機能が競合してしまっているようです。

SVGImporterをUnity2017で正常に動かす方法_0

本来であればSVGファイルをヒエラルキーにドラッグすると、上図のようにSVGRendererMeshFileterMeshRendererMaterialがセットされた状態になります。

SVGImporterをUnity2017で正常に動かす方法_1

しかしUnity2017.1では、このようにPlayableDirectorがくっついた状態で何も表示はされません。

対処法

SVGファイルをヒエラルキーにドラッグすることを諦めます。

  1. GameObjectを作成
  2. SVGRendererをAddComponent(MeshFilter、MeshRendererが自動でアタッチされる)
  3. SVGRendererのVectorGraphicsにSVGファイルをドラッグ
  4. SVGRendererのAdvancedMaterialsのTransparentに適当なMaterialをセットし、外す
  5. するとMeshRendererのMaterialにSVG Importer/SolidColor/SolidColorAlphaBlendedがセットされる
  6. 無事表示

というフローを踏めば表示されます。

SVGImporterをUnity2017で正常に動かす方法_2

頑張ってEditor拡張すればもう少し簡単になりそうですが、公式の対応をまとうと思っている次第です。

環境

期間限定 最大95%オフセール
効率UPメガバンドル開催中!最大95%オフ!!!
期間 : 11月1日午後15時59分まで
オススメ記事
検証環境