【问题标题】:Unity URP 2D lightUnity URP 2D 灯光
【发布时间】:2020-11-18 14:46:23
【问题描述】:

我最近发现了 URP,并正在开发一款有趣的 2D 游戏。我添加了一个全局 2D 灯光并设置了一些代码来抓取灯光组件,但 unity 一直说灯光 2D 不存在。 unity中的错误是“错误CS0246:找不到类型或命名空间名称'Light2D'”。这是我到目前为止的代码。我还按照 Jimmy Vegas 的教程来获取系统时间。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System;

public class DayNight : MonoBehaviour
{

    public GameObject theDisplay;
    public GameObject GL;
    public int hour;
    public int minutes;
    public int totaltime;
    private bool AM;

    void Start()
    {
        totaltime = System.DateTime.Now.Hour;
        hour = System.DateTime.Now.Hour;
        minutes = System.DateTime.Now.Minute;
    }

        
    public void Night()
    {
        //change light settings
        GL.GetComponent<Light2D>().Intensity = 0.4;
    }

}

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    要引用Light2D 组件,您需要将UnityEngine.Experimental.Rendering.Universal 命名空间添加到您的代码中。

    命名空间示例:

    ...
    using UnityEngine;
    using UnityEngine.Experimental.Rendering.Universal;
    
    public class DayNight : MonoBehaviour
    {
        ...
    }
    

    如果你得到一个错误,你需要继续并尝试编译它,看看它是否真的有效。


    完成后,您应该能够访问您的GameObjectLight2D 组件,而不会遇到任何麻烦。

    调用 Light2D 示例:

    public float nightvalue = 0.4f;
    
    public void Night()
    {
        // Change light intensity to nightvalue.
        GL.GetComponent<Light2D>().intensity = nightvalue;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-03
      • 2021-11-24
      • 1970-01-01
      • 1970-01-01
      • 2011-04-28
      • 2022-11-02
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多