はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【Unity】絶対パスをAssets/~に変換する

はじめに

保存先のファイルパスを取得しようとしたとき、EditorUtility.SaveFilePanelを利用する方法があります。
そしてそれでゲットしたパスをunity上の保存しようと思ったときAssets/~にしなければなりません。
その方法を少し強引かもしれませんが見つけたので書いておきたいと思います。

やり方

Regex.Split(text,pattern)メソッドを使っていきたいと思います。
まず初めにおまじないを書きましょう。

using System.Text.RegularExpressions;

そして分割アンドAssets/~に変換しましょう。

// 保存先のファイルパスを取得する
var filePath = EditorUtility.SaveFilePanel("Save", "Assets", "image", "png");

//filePathをAssets/~に変換する
string[] hogePath = Regex.Split(filePath, "/Assets/");
string assetPath = "Assets/" + hogePath[1];

EditorUtility.SaveFilePanelにて絶対パスを取得した後、Regex.Splitで分割しています。

さいごに

これでunity上にアセットとかを保存する方法を身に着けられました!