文档

Unity Engine

Unity Engine

GetAssetOrScenePath(Object)

Gets the path name relative to the project folder where the asset or scene is stored.
阅读时间1 分钟最后更新于 25 天前

Definition

  • Type: Method
  • Namespace: UnityEditor
  • Assembly: UnityEditor.CoreModule
public static string GetAssetOrScenePath(Object assetObject)

Parameters

assetObject

The asset object to check.

Returns

Type

Description

stringThe path name relative to the project folder where the asset or scene is stored.

Remarks

All paths are relative to the project folder, for example: "Assets/MyTextures/hello.png"
When a GameObject is part of a scene, the scene path is returned.

Examples

using UnityEditor;using UnityEditor.SceneManagement;using UnityEngine;using UnityEngine.SceneManagement;public class AssetDatabaseExamples : MonoBehaviour{ [MenuItem("AssetDatabase/Get Asset Or Scene Path Example")] static void GetAssetOrScenePathExample() { var asset = AssetDatabase.LoadAssetAtPath("Assets/Prefabs/Cube123.prefab", typeof(GameObject)); //This will output Assets/Prefabs/Cube123.prefab Debug.Log(AssetDatabase.GetAssetOrScenePath(asset)); var clone = Instantiate(asset); EditorSceneManager.SaveScene(SceneManager.GetActiveScene()); //This will output Assets/Scenes/SampleScene.unity Debug.Log(AssetDatabase.GetAssetOrScenePath(clone)); }}