Initial commit
This commit is contained in:
41
Assets/Materials/Scripts/MoonGravityForce.cs
Normal file
41
Assets/Materials/Scripts/MoonGravityForce.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
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<PlanetSpin>();
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user