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

在这里我们可以看到背景。顶部为黄色,底部为蓝色。这不是一个简单的图像,因为在游戏过程中颜色会像过渡一样变化。
另外,如何使多维数据集看起来像第一个从底部消失一样?
提前致谢。
使用简单的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
| 归档时间: |
|
| 查看次数: |
4447 次 |
| 最近记录: |