写点什么

【100 个 Unity 实用技能】| 游戏中使技能或装备跟随角色环绕,持续旋转

  • 2022 年 6 月 06 日
  • 本文字数:701 字

    阅读完需:约 2 分钟

Unity 小科普

老规矩,先介绍一下 Unity 的科普小知识:

  • Unity 是 实时 3D 互动内容创作和运营平台 。

  • 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。

  • Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的 2D 和 3D 内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。

  • 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!



Unity 踩坑小知识点学习

Unity 中使某个物体一直跟随另一个物体旋转(跟随旋转)

思路:在开始游戏时获取和玩家的位置差距的向量,然后更新跟随物体的位置,然后更改位置到指定距离,最后然后再获取差距向量。


因为 RotateAround 只能围绕目标进行旋转,不能控制旋转的半径,所以需要不断更新位置来让控制旋转的半径。


实现效果如下:



跟随旋转的代码如下:


using System.Collections;using System.Collections.Generic;using UnityEngine; public class Saber : MonoBehaviour {    public Transform targetPos;//旋转中心对象    public float speed = 200f;//旋转速度    public float distance;//旋转半径    Vector3 dir;        void Start()     {        dir = transform.position - Target.transform.position;    }     void Update() {        //更新跟随物体的位置        transform.position = targetPos.position + dir.normalized * distance;        //围绕角色旋转        transform.RotateAround(targetPos.position, Vector3.up, speed * Time.deltaTime);        //更新方向向量        dir = transform.position - targetPos.position;    } 
复制代码





发布于: 2022 年 06 月 06 日阅读数: 28
用户头像

还未添加个人签名 2022.05.25 加入

还未添加个人简介

评论

发布
暂无评论
【100个 Unity实用技能】| 游戏中使技能或装备跟随角色环绕,持续旋转_呆呆敲代码的小Y_InfoQ写作社区