2017-08-20 6 views
0

私の英語のために申し訳ありません(Google翻訳)。以下は、選択したディレクトリ(資産/リソース/ TestObject.asset)で資産(はScriptableObject)を作成するコードの抜粋です:現在のディレクトリへのパスを取得するには? (ScriptableObject、UnityEditor.AssetDatabase)

[MenuItem("Assets/Create/Test Object")] 
private static void CreateTestObject() 
{ 
    var testObject = ScriptableObject.CreateInstance<TestObject>(); 
    AssetDatabase.CreateAsset(testObject, "Assets/Resources/TestObject.asset"); 
    AssetDatabase.SaveAssets(); 
} 

私は私がでてるのディレクトリへのパスを取得できますか?パスを手動でハードコードするのではなく、メソッドを呼び出すのと同じフォルダにこのGameObjectを保存するためです。例えば


1)のI/TestFolder/TestFolder2資産からメソッドを呼び出します。

2)そして、同じディレクトリにアセット(TestObject)を作成します。また、資産/リソースには作成されません。

要約すると、メニュー(アセット/作成/テストオブジェクト)を通じてメソッドを呼び出したディレクトリへのパスを取得する必要があります。


さらに、作成したGameObjectの名前をすぐに変更できますか?他のオブジェクトと同じように(スクリプト、フォルダなど)。

ご回答いただきありがとうございます。


Example (screenshot): は、どのように私は赤で強調表示されたパスを取得します。メニュー(作成/テストオブジェクト)を介してメソッドを呼び出します。私が選択したディレクトリ(Assets/TestFolder/TestFolder2)。そしてそこに資産が作られます。資産/リソースには含まれていません。私に文字列を返すメソッドが必要です:Assets/TestFolder/TestFolder2

答えて

0

System.Environmentクラスには、静的なCurrentDirectoryプロパティがあります。

+0

ありがとう、しかし...それは私に合っていません。私はうまく説明しなかった。このメソッドは私にこのような何かを返します:: C:\ Documents \ Unity_Projects \ Test_Project – marsep

+0

スクリーンショットで新しい例を追加しました。もっと理解できます。 – marsep

関連する問題