问题标签 [cinemachine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
493 浏览

c# - 如何创建 Unity3d Cinemachine 3rd 人移动滑动相机?

我创建了一个第三人称 freelook 相机和一个玩家控制器,该控制器从新的输入系统动作地图中获取输入,它来自左摇杆游戏手柄,跳跃并可以看;感谢 youtube 教程。当我围绕我的玩家旋转并且玩家朝着相机的方向移动时,相机工作得很好。在我的手机上构建和播放后,我意识到有一个问题,只要用户不停止按下屏幕,相机就不会停止旋转。我不希望这样,因为用户玩游戏的次数越多,它就开始变得烦人。我希望用户在将相机拖到玩家周围时按住相机并旋转它(就像在手机游戏 genshin Impact 中一样)。我不知道它的正确术语,但我认为它是一个滑动的第三人称相机。有人可以告诉我它是如何完成的吗?

以上是最近从 youtube 教程中学到的播放器控制器代码。下面是游戏手柄的输入动作图和游戏对象: 在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
211 浏览

unity3d - 适用于移动设备的 Unity 相机控件

我想要的是以下内容:

  • 我在场景中有一个物体(它永远不会移动)
  • 使用移动设备上的 onSwipe,相机应该围绕对象旋转
  • 用捏(两指放大或缩小)我想放大/缩小场景中的对象

所以我用cinemamachine试了一下,用鼠标让它工作。但是我能做些什么来使这项工作与移动输入一起工作。

这是我在 CineMachine 中的设置: 在此处输入图像描述

还有我的 CameraController.cs:

0 投票
1 回答
391 浏览

c# - Unity3D - Cinemachine - 相机旋转问题

我的问题是我的相机在停止鼠标旋转后旋转了一点。

我使用 Cinemachine 虚拟摄像机。角色随镜头转动。

该脚本不是来自我,但它适用于制造商。该脚本来自以下播放列表。

https://www.youtube.com/watch?v=CS7MudfyDzM&list=PLyBYG1JGBcd1E4CigRSDE9YdH8syiDY6-

字符上的脚本

0 投票
1 回答
343 浏览

unity3d - 如何使用电影机和输入系统通过移动相机将播放器旋转到鼠标位置?统一二维

我已经知道如何根据鼠标位置旋转播放器,有大量关于此的教程。然而,每次我需要移动相机(通常使用电影机)时,我都会感到极度紧张,玩家面对鼠标的方式也会发生变化。这是我现在使用的代码,但这是我长期以来一直遇到的问题,似乎找不到任何人询问它。

我正在使用新的输入系统,但如果需要,我可以使用旧的输入系统并在 Cinemachine 中使用 2D 摄像机

0 投票
1 回答
604 浏览

c# - 如何访问 CinemachineVirtualCamera 主体中的被跟踪对象偏移量?

我是 Unity Cinemachine 的新手,我正在尝试使用代码更改 CinemachineVirtualCamera 主体中跟踪对象偏移的 y 值。在此处输入图像描述

我阅读了一些关于更改值的文章,而我目前的代码是

然后我收到错误消息NullReferenceException: Object reference not set to an instance of an object,当我打印出 的值时cinemachineOffset,我得到空值,所以我认为我做得不对。所以我想知道如何访问 Body 的 CinemachineVirtualCamera 的 Y 值...

0 投票
1 回答
1788 浏览

c# - 如何在 Unity / C# 中访问 Cinemachine 的相机距离值?

我现在正在使用 Unity/C#,但我一直坚持在脚本中访问 CinemachineVirtualCamera 的相机距离值。我想要做的是改变身体部分的相机距离值。 在此处输入图像描述

首先,如何访问这个游戏对象中的 CinemachineVirtualCamera 组件?MoveScript 是我附加到玩家游戏对象的,我想根据玩家的移动缩小相机。由于我正在制作的游戏很小,所以我不会制作其他.cs文件。

我写

我也阅读了这个文件,我认为这m_CameraDistance是我正在寻找的,但我怎样才能访问这个值?

0 投票
2 回答
325 浏览

c# - 找不到名称“Cinemachine”

我是 Unity 和 C# 的初学者。我正在尝试使用脚本操作电影机相机,但 VScode 会抛出错误消息The type or namespace name 'Cinemachine' could not be found。所以我尝试从包管理器中删除cinemachine并重新安装cinemachine,但我仍然得到同样的错误。我在 StackOverflow 上搜索了相同的问题并得到了这个问题,但是由于我没有制作程序集文件,因此它不能解决我当前的问题。那么谁能告诉我下一步该尝试什么来解决我目前遇到的问题?

0 投票
1 回答
50 浏览

c# - 如何在 C# 中检查虚拟相机是否已完全过渡?

我正在做一个 C#/Unity 项目,我想知道 Cinemachine 虚拟相机何时完全过渡到另一个 Cinemachine 相机。我见过有人使用IsBlending,但我仍然不确定如何在我的项目中实现该代码。

我的代码就像..

所以我想我做错了什么,因为虚拟相机已经开始改变,我得到一个错误的值作为 IsBlending 布尔值。我还编写了 while 循环,而不仅仅是 Debug 记录 IsBlending 值,但结果仍然相同。我想在混合完成后立即运行另一个函数,所以如果有更好的解决方案,也请告诉我......

0 投票
1 回答
143 浏览

unity3d - Unity2d 播放器在与 Cinemachine 一起坠落时离机


目前,我正在尝试在玩家下落时实现平滑过渡和相机跟随。
但是,当玩家跌倒时,它要么:

  1. 增加 Y 阻尼 -> 跟随是平滑的,但玩家在跌落时离开镜头
  2. 关于增加 Y 阻尼和增加 Y 软区高度 -> 与第一个相同
  3. 在减少 Y 阻尼时 -> 跟随是苛刻的,但玩家在镜头中
  4. On 增加 Y 阻尼和减少 Y 软区高度 -> 与 3 相同。

当前设置增加了 Y 阻尼并增加了 Y 软区高度。

在此处输入图像描述


当前设置结果:

  • 当玩家跌倒时,它到达软区 Y 的底部范围,并且由于玩家跌倒导致相机焦点关闭,您看不到前方有什么。
  • 此外,当它到达地面时:
    (i)它会快速捕捉玩家的注意力,使相机的剧烈运动跟随(如果 y 阻尼降低
    (ii)并且玩家离开相机(如果 y 阻尼增加,作为玩家在地面上,需要几秒/毫秒才能专注于玩家位置)。


Player Falling ,你看不到前面有什么
(因为前瞻仅适用于输入,而在下降时没有输入)

在此处输入图像描述

期望:( 您应该能够看到前方的情况,以便您已经为下一步做好准备)

在此处输入图像描述

Q:如何让玩家在下落时既平滑过渡又不松动?
我在想我们是否也可以在下降时为 Y 启用前瞻,目前它已启用,但前瞻似乎在下降时不起作用。

Q2:我们如何限制Cinemachine的y轴,这样可以解决问题。

[编辑总结]

在此处输入图像描述

0 投票
1 回答
390 浏览

unity3d - Cinemachine 使我的相机运动统一滞后

我目前正在使用电影机制作第三人称相机。我的球员的动作很有效,我希望他看向他正在移动的方向,但要考虑到摄像机的旋转。当我在移动播放器的同时不移动相机时它可以工作,但是当我移动相机时,我的播放器的旋转是滞后的,而且我的相机的每次移动似乎也是滞后的。对不起我的英语我希望很清楚这是我的代码:

以及我的电影机设置和层次结构的屏幕截图: 在此处输入图像描述