【问题标题】:Objects in Scene dark after calling LoadScene/LoadLevel调用 LoadScene/LoadLevel 后场景中的对象变暗
【发布时间】:2017-07-15 19:55:40
【问题描述】:

我完成了 Unity 的滚球教程,它运行良好。我更改了一些材料以使其看起来更好。我还添加了一个 C# 脚本,当玩家从地面上掉下来时应该重新启动关卡(我禁用了墙壁)。我正在使用 Unity 5.5。

最初看起来像这样:

但是当我离开边缘并重新启动关卡时,它看起来像这样: 在编辑器加载时打开unity后,有时会出现几秒钟。

这是脚本:

using UnityEngine;
using System.Collections;

public class DeathTrigger : MonoBehaviour {

    // Use this for initialization
    void Start () {

    }

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

    }

    void OnTriggerEnter (Collider other)
    {
        if (other.gameObject.CompareTag("Player"))
            Application.LoadLevel(Application.loadedLevel);
    }
}

关于造成这种情况的任何想法?

【问题讨论】:

  • 我首先想到的是它们可能是灯的问题。你在玩游戏吗?如果是这样,当关卡重新开始时,您是否将其定位好? (当你的意思是重新开始时,这意味着球回到原来的位置,或者你重新加载整个场景N)
  • 据我所知,我没有移动灯光。整个场景以Application.LoadLevel(Application.loadedLevel);这一行重新开始

标签: c# unity3d colors


【解决方案1】:

颜色和材料已加载。这是一个光照问题,因为光照仍在后台计算。这可能会在编辑器中发生。这应该在构建中发生。

根据您的 Unity 版本,您可以通过转到 Windows --> Lighting --> Settings 来解决此问题,然后转到场景标签。向下滚动并禁用 Auto Generate 复选框,然后单击 Generate Lightning 按钮。

对于没有 Auto Generate 复选框的旧版 Unity,请参阅 here

【讨论】:

    【解决方案2】:

    使用照明工具后,每个场景的照明设置只需更改一件事。

    1. 窗口 > 渲染 > 照明(Unity 2020)
    2. 单击环境选项卡
    3. 在 Environment Lighting 中,将 Source 从 Skybox 更改为 Color。
    4. 从环境颜色中选择白色。
    5. 完成。尝试测试一下。

    之前

    之后

    【讨论】:

    • 起初这对我不起作用,但后来我意识到这不是全局设置,您必须切换到正确的场景。切换到正确的场景后,效果很好!谢谢!
    【解决方案3】:

    我在网上找到了很多解决方案,但我错过了一个步骤,所以我希望这会有所帮助。

    大多数解决方案指示转到 Windows->Lightning,然后取消选中 Auto 并单击 Generate Lighting。我的问题是,当我按下生成按钮时,我没有加载所有场景以供预览(至少不是我遇到问题的场景),所以它只是将光生成应用于加载的场景。确保在生成灯光时加载所有场景。

    【讨论】:

      【解决方案4】:

      文件 > 构建设置 > 播放器设置 >(左侧)图形 >(右上角)齿轮图标 > 重置

      【讨论】:

        【解决方案5】:

        我是新手,网上的建议都没有帮助我。但是,当我转到窗口 > 渲染 > 闪电 > 场景选项卡时;如果“闪电设置”显示“无”,点击它并选择“演示”-设置。按“生成”。 因此,它似乎缺少所有设置,导致加载时场景变暗。

        【讨论】:

          【解决方案6】:

          如果您使用 5.5 左右的统一版本,请尝试清除烘焙数据 转到Windows->Lightning->Untick Auto->Now Click dropdown arrow of Build Button which is near Auto(Check Box) -> Select Clear Baked Data。 现在试试你的代码,虽然SceneManager.LoadScene (1); 就足够了。

          同时卸载前一个场景并将新场景设置为活动场景是一种很好的做法。 这对我有用。

          【讨论】:

            【解决方案7】:

            我遇到了完全相同的问题。对我有用的是将Directional Light > Light > Mode 设置为实时。 (出于某种原因,它是烘焙

            我希望这可以帮助将来的人。

            【讨论】:

              猜你喜欢
              • 2016-07-16
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多