【问题标题】:Camera scripting in Unity3d (and maybe scripting in general)Unity3d 中的相机脚本(可能还有一般的脚本)
【发布时间】:2011-10-11 21:58:26
【问题描述】:

在游戏中,就摄像机控制脚本而言,您会拥有一个处理所有摄像机的“摄像机控制脚本”,还是为每个单独的摄像机(玩家摄像机、过场摄像机等)创建一个脚本。

我只是想找出统一处理脚本的正确方法,从长远来看,这将使事情变得简单并提高内存效率。

相机动作将跟随玩家以获得玩家相机,或在过场动画中平移或在不同过场动画中保持静止

【问题讨论】:

  • 我在这里有点困惑 - 你有更具体的情况要问吗?事实上,我认为对此没有任何正确答案 - 也许您有时希望所有相机都有一个组件,也许有时您希望一个对象具有一个控制所有相机的组件。这仅取决于您要做什么,因此最好概述一下。
  • 对不起,这个问题令人困惑,因为我自己也很困惑。我会尽量澄清。我和我的朋友将团结一致地制作一款游戏,我们正在努力决定如何做事。我们正在争论处理脚本的最佳方式。我的朋友认为应该有一个脚本附加到一个空的“游戏管理器”类来处理每个摄像机,并且在该脚本中,它会检查哪个摄像机处于活动状态并相应地控制它。我认为每个相机都应该附加一个单独的脚本来相应地处理相机动作。
  • 好吧,更新问题以解释这一点以及什么是“相机动作”。关于这个话题我有话要说,但对于我来说仍然太模糊,无法真正提供意见。

标签: scripting unity3d


【解决方案1】:

这真的取决于场景/工作流程/生产管道,你组织它的方式并不重要,但如果你对脚本不太满意,我会说将它们全部放在一个文件中可能是最好的方法目前处理它。

我通常会说,如果您打算重用代码段,那么保持模块化通常是一件好事,即每个脚本一个类。

编辑:对于您的具体问题,我将有一个系统,您可以在其中切换一个(或多个)在脚本点之间转换的摄像机,即存储的 vector3 变量(用于静态摄像机和电影)和具有与之关联的移动脚本。通过这种方式,您可以最大限度地减少您在场景中使用的相机数量,并且您可以根据需要多次重复使用静态相机。

处理数据存储的一种简洁方法可能是使用结构数组来存储您需要的所有数据,即相机位置、旋转、FOV 等

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 2013-07-23
    • 1970-01-01
    • 2019-12-10
    相关资源
    最近更新 更多