我最近发现了URP,并正在开发一个有趣的2D游戏。我添加了一个全局2d灯光,并设置了一些代码来获取灯光组件,但unity一直在说2D灯光并不存在。unity中的错误是"error 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;
}
}发布于 2020-11-18 14:46:24
要引用Light2D组件,需要将UnityEngine.Experimental.Rendering.Universal命名空间添加到代码中。
命名空间示例:
...
using UnityEngine;
using UnityEngine.Experimental.Rendering.Universal;
public class DayNight : MonoBehaviour
{
...
}如果你得到一个错误,你只需要继续并尝试编译它,看看它是否真的工作。
在此之后,您应该能够访问您的GameObject的Light2D组件,没有任何进一步的问题。
调用Light2D示例:
public float nightvalue = 0.4f;
public void Night()
{
// Change light intensity to nightvalue.
GL.GetComponent<Light2D>().intensity = nightvalue;
}https://stackoverflow.com/questions/64882098
复制相似问题