设置角速度及生成四元数及利用刚体

  • 在对物体的rotation属性赋值的时候,往往是四元数,所以我们需要把角度值转换成四元数
  • 代码如下:
//转换为四元数
Vector3 rotationVector3 = new Vector3(0f, 30f, 0f);
Quaternion rotation = Quaternion.Euler(rotationVector3);
myTransform.rotation = rotation; // 赋予当前物体
//从四元数转换为欧拉角
Quaternion.eulerAngles( ) //直接输出Quaternion的Vector3值
  • 在实现子弹掉落或者砖块掉落的时候,往往需要设置其随机绕某个轴旋转,并设置一个随机的角速度来模拟真实世界的效果
Rigidbody rb = MapList[index][i].AddComponent<Rigidbody>();
 rb.angularVelocity = new Vector3(Random.Range(0.0f, 1.0f), Random.Range(0.0f, 1.0f), Random.Range(0.0f, 1.0f)) * Random.Range(1,10);
 rb.angularDrag = 0;
 //或者
 object.rotate(new Vector3(  Random.range(0, 1), Random.range(0,1), Random.range(0,1)   ) )
  • 注意,我们设置的是角速度,刚体组件默认的角阻力为0.05,因此物体在旋转一段时间后会停止旋转,我们需要设置角阻力为0;
  • 实现掉落效果
  • 思路,给物体添加刚体,地面没有碰撞体,物体将掉落
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值