Unity教程(十一)使用Cinemachine添加并调整相机

Unity开发2D类银河恶魔城游戏学习笔记

Unity教程(零)Unity和VS的使用相关内容
Unity教程(一)开始学习状态机
Unity教程(二)角色移动的实现
Unity教程(三)角色跳跃的实现
Unity教程(四)碰撞检测
Unity教程(五)角色冲刺的实现
Unity教程(六)角色滑墙的实现
Unity教程(七)角色蹬墙跳的实现
Unity教程(八)角色攻击的基本实现
Unity教程(九)角色攻击的改进

Unity教程(十)Tile Palette搭建平台关卡
Unity教程(十一)相机
Unity教程(十二)视差背景

Unity教程(十三)敌人状态机


如果你更习惯用知乎
Unity开发2D类银河恶魔城游戏学习笔记目录


文章目录

  • Unity开发2D类银河恶魔城游戏学习笔记
  • 前言
  • 一、概述
  • 二、Cinemachine的基本使用
    • (1)安装Cinemachine包并创建虚拟相机
    • (2)常用参数
    • (3)死区和软区
  • 三、调整参数设置达到你想要的效果


前言

本文为Udemy课程The Ultimate Guide to Creating an RPG Game in Unity学习笔记,如有错误,欢迎指正。

本节使用Cinemachine电影机添加并调整相机。
对应b站视频:
【Unity教程】从0编程制作类银河恶魔城游戏P44


一、概述

Cinematic Studio可以实现复杂的相机运动和相机镜头过渡。
详细参照Unity官方手册
我们使用它的一个包Cinemachine,它是用于操作 Unity 摄像机的模块。Cinemachine 解决了跟踪目标、构图、混合和镜头之间剪辑的复杂数学和逻辑
详细参照Unity官方手册
参照Unity虚拟相机教程

二、Cinemachine的基本使用

参数功能
Save During Play勾选后可以在运行时保存组件的修改
Priority根据数值大小决定优先显示哪个相机,越大的优先级越高
Follow相机跟随目标(2D大多用这个)
Look At让相机角度始终朝着目标的方向
Mode Override相机模式选择
Ortho SizeOrthographic模式下视野大小的一半高

body中有许多重要的参数

参数功能
DampingX、Y、Z镜头缓动效果
ScreenX、Y镜头偏移
Dead Zone死区内镜头不会一直跟随
Soft Zone在软区内镜头会缓慢跟随目标。超出软区相机会瞬移跟随
Lookahead Time跟随目标点就会朝移动方向偏移
Lookahead Smoothing平滑值
Lookahead Ignore Y忽略Y轴影响(2D游戏常用,防止镜头不稳)

(1)安装Cinemachine包并创建虚拟相机

进入Unity包管理器
Window->Package Manager
在这里插入图片描述
把包的来源从In Project改为Unity Registry
在这里插入图片描述
搜索Cinemachine,进行安装
在这里插入图片描述
在层次面板右键创建虚拟相机
右键->Cinemachine->Virtual Camera
在这里插入图片描述
在这里插入图片描述
修改参数
Body改为Framing Transposer
Aim改为Do nothing
在这里插入图片描述
勾选Save During Play,这样在运行时更改的设置也可以被保存。
在这里插入图片描述

调整Ortho Size可以改变视野的大小
在这里插入图片描述

将Player拖到Follow中,相机跟随角色移动
在这里插入图片描述
可以看到有个摄像机跟着角色移动
在这里插入图片描述
具体运行效果如下
在这里插入图片描述

(2)常用参数

点击虚拟相机,打开body
在这里插入图片描述
可以看到如图所示,这个小黄点是相机实际跟随的点
在这里插入图片描述


修改ScreenX、Y可以移动拍摄的相对位置
在这里插入图片描述


修改X、Y、Z Damping改变相机跟随的速度,为了演示明显我先将XDamping调到最大,效果如下:
在这里插入图片描述


可以设置Lookahead Time让相机走在角色前面,方便角色看清前面的东西
在这里插入图片描述
我们发现小黄点变动幅度很大,画面不稳让人感觉眩晕,这时我们应该勾选Lookahead Ignore,忽略Y轴的移动。并且增加它的平滑度,让移动变得缓慢平滑。
在这里插入图片描述

效果如图:

在这里插入图片描述

(3)死区和软区

死区:当小黄点在死区内时,摄像机不跟随;当小黄点移动到死区外时,摄像机开始跟随。
在这里插入图片描述
软区:当小黄点在软区内时,摄像机缓慢跟随;小黄点超出软区时,摄像机会立即移动
在这里插入图片描述
通过BiasX、Y参数可以移动软区的中心,可以用这种方式实现比如:角色向前走时相机缓慢跟随,回身向后时快速跟随
在这里插入图片描述

三、调整参数设置达到你想要的效果

根据上述参数设置达到一个你想要的效果。
教程中设置的参数如下,可做参考:
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

一文彻底搞懂CNN - 模型架构(Model Architecture)

CNN Model Architecture CNN(卷积神经网络)的模型架构由输入层、卷积层、池化层以及全连接层组成,通过卷积操作提取图像特征,并通过池化减少参数数量,最终通过全连接层进行分类或回归。 输入层:接收原始图…

【奇某信-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

Android Jitpack制作远程仓库aar流程

开发高效提速系列目录 软件多语言文案脚本自动化方案Android Jitpack制作远程仓库aar流程 Android Jitpack制作远程仓库aar流程 背景aar制作与使用1. aar制作2. aar使用 异常解决总结 博客创建时间:2023.08.24 博客更新时间:2023.08.24 以Android stud…

【闪送-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

如何使用ssm实现农家乐信息平台的设计与实现+vue

TOC ssm066农家乐信息平台的设计与实现vue 第1章 绪论 1.1 课题背景 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。所以各…

第12章 网络 (6)

12.8 网络层 12.8.4 分组转发 转发IP分组,根据目标地址分为: 1. 直接和本地相连。 2. 不直接相连,需要网关转发。 int ip_route_input_noref(skb, daddr, saddr, tos, net_dev): //查找路由表。 如果 skb->_skb_r…

AI产品经理的35岁危机_产品经理会有35岁危机吗

01 被裁的35岁朋友 去年,一家知名公司大裁员,很多 35 岁的非高管员工被牵连,包括我的一位朋友。 我第一时间联系了他,看看有没有能够帮上忙的地方。 我:传闻XX公司要收购你们? 朋友:是的。我要…

基于element-ui 日期选择器el-date-picker, 即对日期做区间限制

需求&#xff1a; 有时候需求会让我们对日期选择器做限制&#xff0c;即控制最多可跨越多少个月份&#xff0c;其中涉及到不同年份该如何计算。 HTML&#xff1a; <el-date-pickerv-model"timePeriod"type"monthrange"value-format"yyyyMM"…

鸿蒙Harmony编程开发:HTTPS服务端证书四种校验方式

如果你还是使用HttpRequest的话&#xff0c;答案是否定的。但是&#xff0c;鸿蒙开发者很贴心的推出了远场通信服务&#xff0c;可以使用rcp模块的方法发起请求&#xff0c;并且在请求时指定服务端证书的验证方式&#xff0c;关键点就在SecurityConfiguration接口上&#xff0c…

Kafka·概述

概览 Producer 生产者发送消息给broker&#xff0c;并不是生成一条消息后立刻发送&#xff0c;而是积攒多条后&#xff0c;批量发送到broker。可以通过配置参数batch.size&#xff08;单位字节&#xff09;调整积攒多少后发送 Consumer Topic 消息的分类 当Producer发送指定…

OpenAI 重回巅峰:ChatGPT-4O 最新模型超越谷歌 Gemini 1.5,多项测试夺冠!

谷歌上周发布的Gemini 1.5 Pro模型&#xff0c;在LMSYS办的聊天机器人竞技场Chatbot Arena中获得第一名。但是&#xff0c;OpenAI迅速反应&#xff0c;推出了最新的chatgpt-4o-latest模型&#xff0c;重新夺回了冠军头衔。 chatgpt-4o-latest模型简介 OpenAI最近推出了名为gpt-…

Unity教程(十二)视差背景

Unity开发2D类银河恶魔城游戏学习笔记 Unity教程&#xff08;零&#xff09;Unity和VS的使用相关内容 Unity教程&#xff08;一&#xff09;开始学习状态机 Unity教程&#xff08;二&#xff09;角色移动的实现 Unity教程&#xff08;三&#xff09;角色跳跃的实现 Unity教程&…

C语言-从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件test中保存,输人的字符串以“!”结束

题目要求&#xff1a; 从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件test中保存,输人的字符串以"!”结束 1.实现程序&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() {FILE* fp fopen("…

鸿蒙内核源码分析(用户态锁篇) | 如何使用快锁Futex(上)

快锁上下篇 鸿蒙内核实现了Futex&#xff0c;系列篇将用两篇来介绍快锁&#xff0c;主要两个原因: 网上介绍Futex的文章很少&#xff0c;全面深入内核介绍的就更少&#xff0c;所以来一次详细整理和挖透。涉及用户态和内核态打配合&#xff0c;共同作用&#xff0c;既要说用户…

深入理解滑动窗口算法及其经典应用

文章目录 什么是滑动窗口&#xff1f;经典题型分析与讲解**1. 长度最小的子数组****2. 无重复字符的最长子串****3. 最长重复子数组****4. 将x减到0的最小操作数**5. 水果成篮 (LeetCode 904)6. 滑动窗口最大值 (LeetCode 239)7. 字符串中的所有字母异位词 (LeetCode 剑指 Offe…

区块链基础通识(1)——分布式系统的共识问题

分布式系统 我们最初了解区块链的时候&#xff0c;很多人会形容这个区块链是一个“分布式的不可篡改账本”&#xff0c;这是一个很形象的说法&#xff0c;但是我认为更为准确的形容是“所有节点共同维护的状态机”。为什么分布式和区块链不能划等号呢&#xff1f; 两种常见的…

数字身份革命:探索Web3对个人隐私的保护

在数字化时代&#xff0c;个人隐私和数据保护成为越来越重要的话题。随着Web3的兴起&#xff0c;这一领域正在经历一场深刻的变革。Web3不仅仅是技术的演进&#xff0c;更是对个人隐私保护的一次革命性革新。本文将探讨Web3如何通过去中心化技术重新定义数字身份&#xff0c;并…

npm install报错,解决记录:11个步骤诊断和解决问题

在处理npm install报错时&#xff0c;可以遵循以下步骤来诊断和解决问题&#xff1a; 查看错误信息&#xff1a; 错误信息通常会给出问题的线索&#xff0c;例如依赖包版本冲突、网络问题、权限问题等。 更新npm和Node.js&#xff1a; 首先尝试更新npm和Node.js到最新版本&…

电子电气架构--- 智能汽车电子架构的核心诉求

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消耗你的人和事&#xff0c;多看一眼都是你的不…

Windows平台SDKMAN工具使用

为方便jvm生态的软件版本管理&#xff0c;可以使用sdkman工具来安装和管理诸如java、gradle等软件的当前使用版本。尤其是大多数程序员都是在windows平台开发&#xff0c;团队开发通常都需要统一的jvm相关软件的版本。这里给大家演示下windows平台如何安装和使用sdkman来实现这…