Vector3.Slerp用于平滑转向
# 第1种写法:
Vector3.Slerp(v1, v2, percent)
using UnityEngine; public class SmoothSetDirection : MonoBehaviour { public Transform tf1; public Transform tf2; public float percentSpeed = 0.5f; public bool running = false; private float _percent; void Update() { if (running) { var v1 = tf1.position; var v2 = tf2.position; _percent += percentSpeed * Time.deltaTime; var percent = _percent; if (percent >= 1) { running = false; _percent = 0; } transform.forward = Vector3.Slerp(v1, v2, percent); } } }
# 网上看到的另一种写法,试了下貌似有点问题
Vector3.Slerp(cur, v2, diffPercent)
unity中关于物体的旋转和朝向控制_夫人的泡泡鱼的博客-CSDN博客_unity物体朝向
using UnityEngine; public class SmoothSetDirection : MonoBehaviour { public Transform tf1; public Transform tf2; public float percentSpeed = 0.5f; public bool running = false; void OnEnable() { transform.forward = tf1.position; } void Update() { if (running) { var v1 = tf1.position; var v2 = tf2.position; var diffPercent = percentSpeed * Time.deltaTime; transform.forward = Vector3.Slerp(transform.forward, v2, diffPercent); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!