两种颜色的背景

Ale*_*liu 5 unity-game-engine

我看到了一个有趣的游戏背景,我想知道它是如何制作的以及如何在自己的应用程序中实现它。 在此处输入图片说明

在这里我们可以看到背景。顶部为黄色,底部为蓝色。这不是一个简单的图像,因为在游戏过程中颜色会像过渡一样变化。

另外,如何使多维数据集看起来像第一个从底部消失一样?

提前致谢。

Hel*_*ium 5

使用简单的2x1大小的纹理,您可以实现类似的效果。

将一张Camera world带有原始图像的画布(放在离相机很远的地方)放在整个屏幕上。

然后,使用以下代码创建脚本:

public UnityEngine.UI.RawImage img;

private Texture2D backgroundTexture ;

void Awake()
{
    backgroundTexture  = new Texture2D(1, 2);
    backgroundTexture.wrapMode = TextureWrapMode.Clamp;
    backgroundTexture.filterMode = FilterMode.Bilinear;
    SetColor( Color.black, Color.white ) ;
}

public void SetColor( Color color1, Color color2 )
{
    backgroundTexture.SetPixels( new Color[] { color1, color2 } );
    backgroundTexture.Apply();
    img.texture = backgroundTexture;
}
Run Code Online (Sandbox Code Playgroud)

如果要使用更多颜色的渐变,请更改创建的纹理的高度,然后稍微更改SetColor`函数。

另外,我发现了这个Git存储库,并带有一个定制的Skybox渐变着色器:

https://github.com/keijiro/UnitySkyboxShaders

付费解决方案,此资产似乎是您想要的:https : //www.assetstore.unity3d.com/zh-CN/# !/content/ 37726