using System.Collections; using System.Collections.Generic; using UnityEngine; public class MoonGravityForce : MonoBehaviour { [Header("Швидкість обертання навколо Землі")] [Range(0f, 100f)] [SerializeField] private float orbitSpeed = 0.55f; [Header("Нахил осі Місяця")] [Range(0f, 180f)] [SerializeField] private float axialTilt = 6.68f; private PlanetSpin _parentSpin; private Transform _parentTransform; void Start() { _parentTransform = transform.parent; _parentSpin = _parentTransform.GetComponent(); transform.localRotation = Quaternion.Euler(0f, 0f, axialTilt); } void Update() { float parentRotationSpeed = _parentSpin != null ? _parentSpin.RotationSpeed : 0f; float compensatedOrbit = orbitSpeed - parentRotationSpeed; transform.RotateAround( _parentTransform.position, Vector3.up, compensatedOrbit * Time.deltaTime ); transform.LookAt(_parentTransform.position); } }