using UnityEngine; [ExecuteInEditMode] public class SkyboxRotator : MonoBehaviour { // Skybox의 회전 속도를 설정할 수 있는 공개 변수 [Range(0f, 360f)] public float rotationSpeed = 10f; // Skybox 재질을 직접 지정할 수 있는 옵션 public Material customSkyboxMaterial; // 현재 씬에서 적용된 Skybox의 회전 각도 private float skyboxRotation; void Start() { // 씬에 적용된 Skybox가 없고, 사용자 정의 Skybox가 설정되어 있으면 적용 if (RenderSettings.skybox == null && customSkyboxMaterial != null) { RenderSettings.skybox = customSkyboxMaterial; } } // Skybox 회전을 위한 함수 void Update() { // Skybox를 회전시키는 로직 skyboxRotation += rotationSpeed * Time.deltaTime; if (skyboxRotation > 360f) { skyboxRotation -= 360f; } // Skybox 회전 값 적용 RenderSettings.skybox.SetFloat("_Rotation", skyboxRotation); } // 외부에서 Skybox 회전 값을 수동으로 설정하는 함수 (예: Timeline에서 사용) public void SetSkyboxRotation(float rotation) { skyboxRotation = rotation; RenderSettings.skybox.SetFloat("_Rotation", skyboxRotation); } }