UnityAPI手册-2019.4官网版
文集大纲加载中……
本文档使用 MrDoc 发布
-
+
首页
Vector3.RotateTowards
# [Vector3](https://docs.unity3d.com/cn/2019.4/ScriptReference/Vector3.html).RotateTowards public static [Vector3](https://docs.unity3d.com/cn/2019.4/ScriptReference/Vector3.html) **RotateTowards** ([Vector3](https://docs.unity3d.com/cn/2019.4/ScriptReference/Vector3.html) **current**, [Vector3](https://docs.unity3d.com/cn/2019.4/ScriptReference/Vector3.html) **target**, float **maxRadiansDelta**, float **maxMagnitudeDelta**); ## 参数 | current | 要处理的向量。 | | ------------------- | ---------------------------------------- | | target | 目标向量。 | | maxRadiansDelta | 此旋转允许的最大角度(以弧度为单位)。 | | maxMagnitudeDelta | 此旋转允许的最大矢量幅度变化。 | ## 返回 **Vector3** RotateTowards 生成的位置。 ## 描述 将向量 `current` 朝 `target` 旋转。 该函数类似于 [MoveTowards](https://docs.unity3d.com/cn/2019.4/ScriptReference/Vector3.MoveTowards.html),但向量被视为方向而不是位置。 `current` 向量将朝 `target` 方向旋转 `maxRadiansDelta` 的角度, 但其将准确地落在目标上而不会超过目标。 如果 `current` 和 `target` 的大小不同,则在旋转期间对结果大小进行线性插值。 如果为 `maxRadiansDelta` 使用负值,则向量将朝远离 `target` 的方向旋转, 直到它指向完全相反的方向,然后停止。 另请参阅:[Quaternion.RotateTowards](https://docs.unity3d.com/cn/2019.4/ScriptReference/Quaternion.RotateTowards.html)。 ``` using UnityEngine; // To use this script, attach it to the GameObject that you would like to rotate towards another game object. // After attaching it, go to the inspector and drag the GameObject you would like to rotate towards into the target field. // Move the target around in the scene view to see the GameObject continuously rotate towards it. public class Example : MonoBehaviour { // The target marker. public Transform target; // Angular speed in radians per sec. public float speed = 1.0f; void Update() { // Determine which direction to rotate towards Vector3 targetDirection = target.position - transform.position; // The step size is equal to speed times frame time. float singleStep = speed * Time.deltaTime; // Rotate the forward vector towards the target direction by one step Vector3 newDirection = Vector3.RotateTowards(transform.forward, targetDirection, singleStep, 0.0f); // Draw a ray pointing at our target in Debug.DrawRay(transform.position, newDirection, Color.red); // Calculate a rotation a step closer to the target and applies rotation to this object transform.rotation = Quaternion.LookRotation(newDirection); } } ```
da
2022年6月22日 10:58
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码