角度和弧度的转换
void Start()
{
#region 知识点一 弧度、角度相互转化
//弧度转角度
float rad = 1;
float anger = rad * Mathf.Rad2Deg;
print(anger);
//角度转弧度
anger = 1;
rad = anger * Mathf.Deg2Rad;
print(rad);
#endregion
}
正弦函数
余弦函数
利用三角函数的图像特点可以模拟一个物体起伏的场面
例如给一个物体做曲线前行
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SinMove : MonoBehaviour
{
//面朝向移动速度
public float moveSpeed = 5;
//左右曲线移动变化的速度
public float changeSpeed = 2;
//左右曲线移动距离控制
public float changeSize = 0.5f;
private float time = 0;
// Update is called once per frame
void Update()
{
//面朝向移动
this.transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
//左右曲线移动
time += Time.deltaTime * changeSpeed;
this.transform.Translate(Vector3.right * changeSize * Time.deltaTime * Mathf.Sin(time));
}
}
注意Unity里面的三角函数api不能传入角度,只能传入弧度,所以每次都需要进行换算
#region 知识点二 三角函数
//注意:Mathf中的三角函数相关函数,传入的参数需要时弧度值
print(Mathf.Sin(30 * Mathf.Deg2Rad));//0.5
print(Mathf.Cos(60 * Mathf.Deg2Rad));//0.5
#endregion
#region 知识点三 反三角函数
//注意:反三角函数得到的结果是 正弦或者余弦值对应的弧度
rad = Mathf.Asin(0.5f);
print(rad * Mathf.Rad2Deg);//转化为角度
rad = Mathf.Acos(0.5f);
print(rad * Mathf.Rad2Deg);
#endregion