Unity常用API(三)

Unity常用API(三)

九.Vector2;二维向量

1.magnitude: 返回向量的长度
2.normalized; 返回这个向量长度为1的矢量,不管这个向量多长,也是返回1的矢量,只是返回值,不对原向量的值产生影响3.Normalize() 无参数的,也是向量化,但是调用该方法会改变原向量值,使其的值被向量化 了
4.ClampMagnitude() ;将一个向量限制在参数中指定的长度之间
5.MoveToWards() 用来做匀速的运动,由一个位置向另一个位置进行移动
6.sqrMagnitude 对求向量的的长度时不进行开平方根运算了,减少性能的损耗,一般是用来比较两个向量的长度大小的。
扩充:向量是结构体,为值类型,修改其中的变量的时候要整体进行修改,不能单独的进行单个变量的赋值修改

十. Vector3:三维变量

1.Cross() 插乘运算【左手法则】,通过两个向量来获得另一个向量的方向,然后进行相关的判断
2.Project() 投影运算
3.Reflect() 反射运算
4.Slerp() 按照角度进行插值,与lerp的按照位置信息进行插值的,一般用在炮台的旋转,使旋转的更加平滑

十一. Random随机数类:

1.InitState(): 通过参数指定的种子,然后再调用Range()产生随机数的时候会依据种子来进行生成,则每一次运行所生成的随机数都是一样的,是伪随机数。一般要生成的随机数不同,可以设置参数为2.System.DataTime.Now.Ticks:通过时间戳来完成 insideUnitFCircle :在单位为1的园内随机生成一个位置信息,如果要在更大的圆中生成,则可以在后面圆的半径信息。一般用来控制随机生成敌人的位置信息3.insideUnitSphere: 在单位为1的球内随机生成一个位置信息,如果要在更大的球中生成,则可以在后面圆的半径信息。

十二. 四元数 Quaternion:

欧拉角【eylarAngles】与面板中的值对应和四元数【rotation】之间是可以进行转换的,一般欧拉角是用来让用户可以直观的看到的,而四元数是用来控制内部的运算 的。

  1. .eulerAngles 将四元数转变为欧拉角
  2. Euler() 将欧拉角转变为四元数
  3. .LookRotation() 让玩家通过设置四元数来进行望向敌人的旋转,将向量方向转变为四元数
  4. Vector3 temp = enemy.position - player.position; //获得两个位置信息之间的变量,是主角望向敌人,所以要设置向量的方向是指向敌人的
    enemp.y = 0; //如果不想主角在望向他的时候出现低头的情况,也就是y轴的值出现了变化了。
    player.rotation= Quaternion.LookRotation(temp);
    slerp() 在做朝向的旋转的时候,不建议使用lerp,而是建议使用slerp,使其的旋转朝向更为平滑,更加的自然
    Quaternion target= Quaternion.LookRotation(temp);
    player.rotation = Quaternion.Slerp(player.rotation, target, Time.deltaTime); //插值的缓慢旋转
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值