Unity实用脚本片段总结

一. 为物体施加一个向上的力, 使物体的重力和上升力平衡

    /// <summary>
    /// 为物体施加一个向上的力, 使物体的重力和上升力平衡
    /// 9.81f为Unity中的重力加速度
    /// </summary>
    void FixedUpdate()
    {
   
       GetComponent<Rigidbody>().AddForce(Vector3.up * 9.81f * (GetComponent<Rigidbody>().mass));
    }

二. 检测扇形角度

Debug.DrawLine来绘制两条红色的线,用来显示所在的区域。

//目标位置与当前位置的距离
float distance = Vector3.Distance(target.transform.position, transform.position);
//返回向右旋转30度的四元数
Quaternion right = transform.rotation * Quaternion.AngleAxis(30, Vector3.up);
//返回向左旋转30度的四元数
Quaternion left = transform.rotation * Quaternion.AngleAxis(30, Vector3.down);
Vector3 n = transform.position + (Vector3.forward * distance);
//旋转30度后的向量
Vector3 leftPoint = left * n;
Vector3 rightPoint = right * n;
//绘制射线进行显示
Debug.DrawLine(transform.position, leftPoint, Color.red);
Debug.DrawLine(transform.position, rightPoint, Color.red);

三. 球形插值 - 太阳升降

public class Sunrise2Sunset : MonoBehaviour
{
   
    public Transform sunrise;
    public Transform sunset;

    // 日出到日落的时间
    public float journeyTime = 1.0f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值