当前位置: 首页 > news >正文

动作游戏相机计算插值跟随

我们在设计第三人称动作游戏时,会开发相机跟随功能,我们可以直接通过固定人物和相机的距离来每帧设置相机的位置,也就是直接将相机瞬移,也可以通过插值Vector3.Lerp(a, b, t)的方式使相机平滑移动,a代表当前位置,b代表目标位置,t代表移动速度,会根据设置的速度从a到b点平滑移动,这样不会让快速移动显得突兀,相机平滑移动只会移动距离,不会进行转向,那么就需要根据当前位置和目标位置再次设置相机的平滑转向,用Quaternion.LookRotation(dir):创建一个旋转四元数,使物体的 Z 轴对准这个方向,然后用Quaternion.Slerp(a,b,t)设置当前转向,目标四元数,转向速度

这样就可以让相机始终固定角度跟随了

详细代码

// 1. 计算目标位置(玩家后方偏上)
Vector3 targetPos = player.position + new Vector3(距离);

// 2. 平滑移动到目标位置
transform.position = Vector3.Lerp(transform.position, targetPos, speed * Time.deltaTime);

// 3. 计算看向玩家的旋转角度
Quaternion targetRotation = Quaternion.LookRotation(player.position - transform.position);

// 4. 平滑旋转到目标角度
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, speed * Time.deltaTime);

http://www.jsqmd.com/news/1110714/

相关文章:

  • Opensource Grok-1:大模型可解释性与可验证开源的工程实践
  • Debian 10下Apache+PHP-FPM多版本共存实战
  • 【MATLAB】多无人机协同姿态同步控制研究
  • Ubuntu VPS上用psad实现轻量级网络入侵检测
  • Claude 3 Opus 深度解析:架构原理、长上下文优化与工程实践
  • 大模型应用中的提示工程胶水层正在归零
  • 高效电机驱动系统设计与STM32F469II控制实践
  • 【保定理工学院本科毕业设计】基于JavaWeb的康复训练计划管理系统的设计与实现
  • Ubuntu 18.04 原生部署 MinIO 对象存储实战指南
  • GPT-4的1.8万亿参数与2%稀疏激活:MoE架构工程真相
  • GPT-4的2%激活率:MoE稀疏激活原理与工程实践
  • 工业级4-20mA电流环发射器设计与优化实践
  • Claude Code 的缓存究竟住在哪里
  • AI驱动Yapi接口自动化测试:从单接口到场景联动的实践指南
  • Claude语义压缩层蒸发:LLM中间态消失与应用层重构指南
  • OpenAI数学解题的四层可控推理架构解析
  • AI Coding革命:10倍效率重构软件生产力
  • 信用风险模型准确率不高怎么办?风控决策系统重构实战
  • CentOS 7下Apache+PHP-FPM多版本共存实战
  • NLP新闻解码工作流:从信息噪音到技术决策
  • 让模糊语音重获新生:VoiceFixer音频修复工具完全指南
  • AI工程能力培养:从理论到实践的转型路径
  • Gemini 3.0全家桶如何重塑前端开发工作流
  • PCL2启动器:5分钟掌握离线登录,无网也能畅玩Minecraft
  • Mythos:Anthropic可验证推理中间件深度解析
  • Redux Thunk 原理与实战:理解异步动作的本质
  • 163MusicLyrics:跨平台音乐歌词提取解决方案深度解析
  • Mythos状态追踪架构:长程推理与多跳因果链的技术实现
  • LyricsX:让你的Mac桌面变身音乐歌词影院
  • Mythos能力解析:被门控的文本契约推理技术