Unity Quaternion的几种用法

教程地址(观看视频需翻墙):

https://learn.unity.com/project/c-survival-guide-rotations?language=en&courseId=5cf06bd1edbc2a58d7fc3209

1.初始化物体旋转角度为0

Instantiate(ObjectPrefab, transform.position, Quaternion.identity);

2. 初始化物体带有旋转角度

Instantiate(ObjectPrefab, Vector3.zero, Quaternion.Euler(0, 35, 0));

3.物体始终转向目标物体

Vector3 directionToFace = _sphere.position - transform.position;        //先算出与目标物体之间的位移差
Debug.DrawRay(transform.position, directionToFace, Color.green);   //画出射线,可以很明显地看出与目标物体之间的关系
transform.rotation = Quaternion.LookRotation(directionToFace);        //使用LookRotation让物体朝向目标体

4.物体缓慢转向目标物体

Vector3 directionToFace = _sphere.position - transform.position;      
Debug.DrawRay(transform.position, directionToFace, Color.green);
Quaternion targetRotation = Quaternion.LookRotation(directionToFace);     //先将旋转值保存出来

transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime);    //使用Slerp将旋转值以一定时间实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值