| 123456789101112131415161718192021222324252627282930313233343536 | #if UNITY_EDITORusing UnityEngine;using UnityEditor;public class RenderSkyboxToCubemap : MonoBehaviour{    [MenuItem("Tools/Render Procedural Skybox To Cubemap")]    static void RenderToCubemap()    {        // 创建一个临时摄像机        GameObject go = new GameObject("SkyboxCaptureCamera", typeof(Camera));        Camera cam = go.GetComponent<Camera>();        cam.clearFlags = CameraClearFlags.Skybox;        cam.cullingMask = 0; // 不渲染任何物体,只渲染天空        // 创建 Cubemap        int resolution = 1024;        Cubemap cube = new Cubemap(resolution, TextureFormat.RGBA32, false);        // 渲染天空盒到 Cubemap        cam.RenderToCubemap(cube);        // 保存为资源文件        string path = "Assets/RenderedSkyboxCubemap.cubemap";        AssetDatabase.CreateAsset(cube, path);        AssetDatabase.SaveAssets();        // 清理        GameObject.DestroyImmediate(go);        Debug.Log("✅ Skybox 已成功渲染并保存为 Cubemap: " + path);    }}#endif
 |