47 lines
1.3 KiB
C#
47 lines
1.3 KiB
C#
using UnityEngine;
|
|
|
|
public class TestShip : MonoBehaviour
|
|
{
|
|
public Texture2D side;
|
|
public Texture2D up;
|
|
public Transform pivot;
|
|
|
|
public MeshRenderer renderer;
|
|
|
|
private Camera currentCamera;
|
|
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
|
void Start()
|
|
{
|
|
currentCamera = Camera.main;
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void LateUpdate()
|
|
{
|
|
var angle = gameObject.transform.eulerAngles.y;
|
|
renderer.transform.rotation = currentCamera.transform.rotation;
|
|
if (angle < 45 && angle > -45)
|
|
{
|
|
renderer.sharedMaterial.mainTexture = up;
|
|
pivot.localScale = new Vector3(1,1,1);
|
|
|
|
}
|
|
else if (angle > 45 && angle < 135)
|
|
{
|
|
renderer.sharedMaterial.mainTexture = side;
|
|
pivot.localScale = new Vector3(-1,1,1);
|
|
}
|
|
else if (angle > 135 && angle < 225)
|
|
{
|
|
renderer.sharedMaterial.mainTexture = up;
|
|
pivot.localScale = new Vector3(1,1,1);
|
|
}
|
|
else if (angle > 225 && angle < 315)
|
|
{
|
|
renderer.sharedMaterial.mainTexture = side;
|
|
pivot.localScale = new Vector3(1,1,1);
|
|
}
|
|
|
|
}
|
|
}
|