Unity之C#学习笔记(5):Unity中旋转的表示——四元数 Quaternion(下)

前篇链接:Unity之C#学习笔记(4):Unity中旋转的表示——四元数 Quaternion(上)

在上节中,我们学习了代表无旋转的静态量Quaternion.identity和将欧拉角转换为四元数的方法Quaternion.Euler,它们在初始化中很常用。在这节,我们讲解另外两个方法Quaternion.LookRotation和Quaternion.Slerp,它们能为你实现实时追踪目标的效果。

假设我们现在要设计一个能自动追踪玩家的敌方AI。除了在位置上能向玩家的方向移动,我们还希望这个AI能一直“面向”玩家,便于后续添加一些如发射子弹之类的功能。想搞清楚物体具体的旋转参数是相当麻烦的,但Unity为我们提供了一个非常好用的方法Quaternion.LookRotation:
在这里插入图片描述
我们暂时不用管第二个参数。第一个参数是一个Vector3变量,它的意思就是“看向”的方向。这个方向其实就是目标和自身position相减所得的值。调用这个方法,我们不用管物体的旋转参数怎么计算,只需要传一个目标减去自身的Vector3值即可。让我们实际试一试。

创建一个Player和一个Enemy,然后创建一个Aim脚本,挂在Enemy上,并将_playerTransform引用到Player:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Aim : MonoBehaviour
{
   
   
    [SerializeField]
    
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值