Unity3d 当游戏在统一中开始时,创造黑暗和光明效果
我是unity的新手,我需要在游戏开始时创建一个效果:Unity3d 当游戏在统一中开始时,创造黑暗和光明效果,unity3d,Unity3d,我是unity的新手,我需要在游戏开始时创建一个效果: 当游戏开始时,游戏场景是黑暗的 当游戏已经开始时,游戏场景是轻的 请教我怎么做,非常感谢。首先,您必须在unity中的GameObject菜单中为场景添加灯光。如果需要打开或关闭该灯,只需将Javascript添加到灯中即可。有很多方法可以用谷歌搜索,而且很容易找到 var times : float; function Start () { light.intensity =0; } function Update () { tim
- 当游戏开始时,游戏场景是黑暗的
- 当游戏已经开始时,游戏场景是轻的
请教我怎么做,非常感谢。首先,您必须在unity中的GameObject菜单中为场景添加灯光。如果需要打开或关闭该灯,只需将Javascript添加到灯中即可。有很多方法可以用谷歌搜索,而且很容易找到
var times : float;
function Start () {
light.intensity =0;
}
function Update () {
times += Time.deltaTime; // just I added time.
if (times > 5) // or Here you can use Press key events....
light.intensity =8;
}
这是我用的。我创建了一个像素纹理,并使用GUI系统确保在场景中的所有内容之前绘制它。实际上,我使用显示管理器来控制GUI元素的绘制顺序,以确保覆盖在其他GUI元素之前
using UnityEngine;
using System.Collections;
public class Overlay : MonoBehaviour {
//----------------------------------------------------------------------------------------------------//
[SerializeField]
private Color screenColor = Color.black;
[SerializeField]
private float fadeSpeed = 0.5f;
//----------------------------------------------------------------------------------------------------//
static private Texture2D overlay;
static private bool fadeOverlay;
static private bool fadeOverlayIn;
//----------------------------------------------------------------------------------------------------//
public void Awake() {
//Setup the values for the fading overlay.
overlay = new Texture2D( 1, 1 );
overlay.SetPixel( 0, 0, screenColor );
overlay.Apply();
fadeOverlay = true;
fadeOverlayIn = false;
}
public void Update() {
if ( fadeOverlay ) {
if ( fadeOverlayIn ) {
screenColor.a += Time.deltaTime * fadeSpeed;
if ( screenColor.a >= 1 ) {
fadeOverlay = false;
}
} else {
screenColor.a -= Time.deltaTime * fadeSpeed;
if ( screenColor.a <= 0 ) {
fadeOverlay = false;
}
}
overlay.SetPixel( 0, 0, screenColor );
overlay.Apply();
}
}
public void OnGUI() {
if ( fadeOverlayIn || fadeOverlay ) {
GUI.DrawTexture( Camera.main.pixelRect, overlay );
}
}
static public void Toggle() {
fadeOverlay = true;
fadeOverlayIn = !fadeOverlayIn;
}
//----------------------------------------------------------------------------------------------------//
}
使用UnityEngine;
使用系统集合;
公共类覆盖:单一行为{
//----------------------------------------------------------------------------------------------------//
[序列化字段]
专用颜色screenColor=Color.black;
[序列化字段]
专用浮动法速度=0.5f;
//----------------------------------------------------------------------------------------------------//
静态私有纹理2d覆盖;
静态私有布尔法迪奥弗雷;
静态私有布尔法德奥弗雷因;
//----------------------------------------------------------------------------------------------------//
公共图书馆{
//设置淡入淡出覆盖的值。
叠加=新纹理2d(1,1);
叠加。设置像素(0,0,屏幕颜色);
overlay.Apply();
fadeOverlay=真;
fadeOverlayIn=假;
}
公共无效更新(){
如果(fadeOverlay){
如果(fadeOverlayIn){
screenColor.a+=Time.deltaTime*fadeSpeed;
如果(screenColor.a>=1){
fadeOverlay=假;
}
}否则{
screenColor.a-=Time.deltaTime*fadeSpeed;
如果(screenColor.a我的游戏是2d的,我不确定2d中的灯光是否有效,因为我添加了灯光,但场景的灯光没有改变。为此,您需要向精灵添加一种使用精灵漫反射着色器的材质。作为标准,精灵不支持照明,因为我们希望用户使用未照明的灯光,并使用烘焙到精灵de中的灯光自行签名。只需制作一个材质,将其指定给精灵,然后从材质中选择精灵漫反射着色器。检查此链接非常感谢您的帮助如果它提供了解决方案,请接受它作为答案。感谢您的分享。我正在尝试此操作。是否有此帮助?