You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
700 B
30 lines
700 B
2 years ago
|
using UnityEngine;
|
||
|
|
||
|
public class TiltWindow : MonoBehaviour
|
||
|
{
|
||
|
public Vector2 range = new Vector2(5f, 3f);
|
||
|
|
||
|
Transform mTrans;
|
||
|
Quaternion mStart;
|
||
|
Vector2 mRot = Vector2.zero;
|
||
|
|
||
|
void Start ()
|
||
|
{
|
||
|
mTrans = transform;
|
||
|
mStart = mTrans.localRotation;
|
||
|
}
|
||
|
|
||
|
void Update ()
|
||
|
{
|
||
|
Vector3 pos = Input.mousePosition;
|
||
|
|
||
|
float halfWidth = Screen.width * 0.5f;
|
||
|
float halfHeight = Screen.height * 0.5f;
|
||
|
float x = Mathf.Clamp((pos.x - halfWidth) / halfWidth, -1f, 1f);
|
||
|
float y = Mathf.Clamp((pos.y - halfHeight) / halfHeight, -1f, 1f);
|
||
|
mRot = Vector2.Lerp(mRot, new Vector2(x, y), Time.deltaTime * 5f);
|
||
|
|
||
|
mTrans.localRotation = mStart * Quaternion.Euler(-mRot.y * range.y, mRot.x * range.x, 0f);
|
||
|
}
|
||
|
}
|