Unity 编辑器扩展 保存位置

数据存储类

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[CreateAssetMenu]
public class Locations : ScriptableObject
{
    public List<Location> locations;
}

[System.Serializable]
public class Location
{
    public string name;
    public Vector3 location;

    public Location(string name,Vector3 position)
    {
        this.name = name;
        location = position;
    }
}

编辑器扩展

using UnityEditor;
using UnityEngine;

public class LocationSavingTool : Editor
{
    public static Locations locations = Resources.Load<Locations>("Configurations/Locations");

    [MenuItem("CONTEXT/Transform/保存位置")]
    static void SaveLocationToAsset()
    {
        GameObject thisObject = Selection.activeGameObject;
        locations.locations.Add(new Location(thisObject.name, thisObject.transform.position));
    }
}

使用方法

效果

猜你喜欢

转载自blog.csdn.net/weixin_43673589/article/details/124549907