Unity | 渡鸦避难所-4 | 镜头跟随角色移动

1 Cinemachine 简介

在第一人称视角的游戏中,摄像机需要时刻跟随角色移动。除了手动计算摄像机的位置、旋转外,也可以使用 Unity 提供的 Cinemachine 插件来轻松实现摄像机的控制

Cinemachine 是一套用于操作 Unity 相机的模块,解决了跟踪目标、合成、混合和镜头之间剪切的复杂数学和逻辑。它旨在显着减少开发过程中耗时的手动操作和脚本修改的数量。更多信息请参阅文档: 「https://docs.unity3d.com/Packages/com.unity.cinemachine@2.9/manual/index.html」

2 安装并创建虚拟相机

1 安装 Cinemachine

菜单栏中选择 Window > Package Manager,弹出窗口中的 Package 选择 Unity Registry,输入 Cinemachine 关键词,搜索并安装

2 创建虚拟相机对象

在 Hierarchy 中的任意地方右键,创建 Virtual Camera,如果在游戏对象上,路径为:GameObject > Cinemachine > Virtual Camera,如果是空白处,路径为:Cinemachine > Virtual Camera

3 镜头跟随

1 设置跟随目标

为了更好的控制角色,角色模型的锚点通常在脚底,而游戏中希望摄像机捕捉的位置是角色的头部。所以在 PlayerController 中创建一个对象,命名为 Head,调整位置到角色的头部。然后将其拖入到虚拟相机的 Follow 属性中,摄像机就会以阻尼运动的方式跟随 Head,且与目标保持固定距离

2 选择跟随算法

Body 属性指定在场景中移动虚拟摄像机的算法。关于不同算法的详细介绍,请参阅文档:「https://docs.unity3d.com/Packages/com.unity.cinemachine@2.6/manual/CinemachineVirtualCameraBody.html」

游戏中期望镜头像王者和原神一样,角色移动时,相机以固定的角度跟随角色,且与角色保持固定的距离

据此需求,选择 Framing Transposer,此虚拟相机机身算法将相机以固定的屏幕空间关系移动到跟随目标,还可以指定偏移、阻尼和合成规则。Framing Transposer 仅改变相机在空间中的位置,它不会重新定向或以其他方式瞄准相机

Framing Transposer 专为 2D 和正交相机而设计,但它也适用于透视相机和 3D 环境

该算法首先沿相机 Z 轴移动相机,直到跟随目标距相机 XY 平面达到所需距离。然后,它在 XY 平面上移动摄像机,直到跟随目标位于摄像机屏幕上的所需点

注意:Framing Transposer 会忽略 LookAt 目标,仅使用 Follow 目标

更多关于 Framing Transposer 的信息,请参阅文档: 「https://docs.unity3d.com/Packages/com.unity.cinemachine@2.9/manual/CinemachineBodyFramingTransposer.html」

选择 Framing Transposer 后,根据 Aim 属性的提示,将其选择为 Do nothing

3 调整跟随参数

选定虚拟相机的移动算法后,在对应的属性面板中调节相关参数,这里仅更改两个参数:

  • Tracked Object Offset:相对于跟踪对象的偏移

  • Camera Distance:沿相机轴与跟随目标保持的距离

在 Game 视图中可以即时看到调整后的效果,运行后,摄像机就可以时刻捕捉角色的头部位置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/298652.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

看了一眼“国内外最新网络安全发展动态”,头疼....

今天给大家同步一下国内外最新网络安全发展动态 ! 国内动态: 商务部等12部门联合印发《关于加快生活服务数字化赋能的指导意见》 12月20日消息,近日,经国务院批准,商务部等12部门联合印发《关于加快生活服务数字化赋…

Linux文件系统与命令行

什么是命令行? 接收键盘命令并将其传给操作系统执行的程序(用于输入和管理命令的程序),统称命令行,也叫: Shell,几乎所有Linux发行版都提供了一个 Shell 程序,叫做: Bash (Bourne-Again Shell, 因为最初的 Shell 是由 Steve Bourne 编写的原始 Unix 程序, Again 表…

Find My资讯|苹果和谷歌合作规范《Find My Device Network》

苹果和谷歌合作在12 月 20 日发布《Find My Device Network》草案,希望进一步规范蓝牙查找定位的使用情况。而这项《Find My Device Network》草案的初衷,就是要打破 iOS 和安卓系统之间的壁垒,无论是 iPhone 还是安卓手机用户,在…

系列七(实战)、发送 接收单向消息(Java操作RocketMQ)

一、发送 & 接收单向消息 1.1、概述 发送单向消息,适用于发送方不关心或者不在意消息的发送结果,这种方式的吞吐量很大,但是存在消息丢失的风险,对于重要消息要慎用!该种方式通常适用于对消息没有那么严格的场景中…

GoogleNet网络分析与demo实例

参考自 up主的b站链接:霹雳吧啦Wz的个人空间-霹雳吧啦Wz个人主页-哔哩哔哩视频这位大佬的博客 Fun_机器学习,pytorch图像分类,工具箱-CSDN博客 1. GoogLeNet网络详解 GoogLeNet在2014年由Google团队提出(与VGG网络同年,注意GoogLeNet中的L大…

基于java的汽车维修保养智能预约系统论文

摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古…

Adobe软件打开后设置默认页面方式和默认鼠标方式

PDF文件打开后是默认显示,与显示器比例不协调,或大或小,总是需要手动调节阅读方式,解决方法如下: Adobe软件中可以设置默认页面方式,具体步骤如下: 编辑 (Edit)-首选项(Preferences)-辅助工具…

生成式 AI 的下一阶段将走向何方?

编者按: 最近,随着 ChatGPT 的出现,很多人认为人工智能领域进入了大探索时代。然而这仅仅只是生成式 AI 发展的第一幕。 我们今天要给大家带来的这篇文章认为,生成式 AI 已经进入第二幕,即整合时代,不同系统…

基于电商场景的高并发RocketMQ实战-Broker写入读取流程性能优化总结、Broker基于Pull模式的主从复制原理

🌈🌈🌈🌈🌈🌈🌈🌈 【11来了】文章导读地址:点击查看文章导读! 🍁🍁🍁🍁🍁🍁&#x1f3…

Redis的安装以及使用

第一步,去官网下载一个压缩包到本地解压即用,绿色软件,不用其他操作,点击Download下载即可: Introduction to Redis | RedisLearn about the Redis open source projecthttps://redis.io/docs/about/第二步&#xff0…

【交叉编译环境】安装arm-linux交叉编译环境到虚拟机教程(简洁版本)

就是看到了好些教程有些繁琐,我就写了一个 我这个解压安装的交叉编译环境是Linaro GCC的一个版本,可以用于在x86_64的主机上编译arm-linux-gnueabihf的目标代码 步骤来了 在你的Ubuntu系统中创建一个目录,例如/usr/local/arm,然后…

2023.12.22 关于 Redis 数据类型 String 常用命令

目录 引言 String 类型基本概念 SET & GET SET 命令 GET 命令 MSET & MGET MSET 命令 MGET 命令 SETNX & SETEX & PSETEX SETNX 命令 SETEX 命令 PSETEX 命令 计数命令 INCR 命令 INCRBY 命令 DECR 命令 DECRBY 命令 INCRBYFLOAT 命令 总结…