【问题标题】:Unity3d 3d skybox not quite rightUnity3d 3d天空盒不太正确
【发布时间】:2013-10-02 23:09:04
【问题描述】:

为了学习它,我在 unity3d 中乱搞。
例如,在源引擎中制作我自己的 3d 天空盒时很擅长。我正在使用标准的第一人称控制器。
我为我的天空盒制作了另一个具有相同 FOV 的相机,并使用下面的脚本将其从属于第一人称控制器中的相机,我将它放在我的天空盒相机上。
(Maincam 字段中包含第一人称控制器摄像头组件)

using UnityEngine;
using System.Collections;

public class CameraSlave : MonoBehaviour {

    public Component Maincam;

    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {

    transform.rotation = Maincam.transform.rotation;
    }
}

你可以看到结果here. 有点搞笑。 (背景中的大四面体形状在我的天空盒中,其他一切正常)
据我了解,只要相机 fov 相同,我的天空盒大小无关紧要。
我认为问题是,可能有一些滞后吗?就像上面代码中的更新被调用一帧太晚了?我尝试从第一人称控制器鼠标外观脚本调用该更新,但结果是一样的。

【问题讨论】:

  • 请更新您的链接,它已损坏。 (2013 年 10 月 2 日上午 8:03)
  • 奇怪的是它为我工作。这是链接bam.net16.net/skyboxtest

标签: unity3d skybox


【解决方案1】:

我无法想象你的例子,顺便说一句:

我认为问题是,可能有一些滞后吗?就像更新一样 上面的代码被调用一帧太晚了?我试着打电话 从第一人称控制器鼠标外观脚本更新,但作为 以及得到大量错误的结果是相同的。

您不能依赖引擎调用Update 方法的顺序(除非您强制执行特定顺序,但这通常不是一个好的选择)。对于相机更新操作,最好使用LateUpdate。保证在所有Update 方法之后都会调用它。

【讨论】:

  • 是的。这就是我需要的。它完全修复了它。谢谢! :)
猜你喜欢
  • 1970-01-01
  • 2016-07-23
  • 1970-01-01
  • 1970-01-01
  • 2020-07-25
  • 2012-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多